Standaard kan Flash WAV-bestanden afspelen als deze zich in de bibliotheek bevinden, maar niet bij het laden van externe bestanden. Lees deze snelle tip door om erachter te komen hoe je ze kunt spelen.
We zullen veelgebruikte methoden gebruiken om het gewenste WAV-bestand aan te vragen en te laden, en een fantastische derde klas te gebruiken om het geladen bestand af te spelen.
AS3WavSound (AWS) is een uitstekende ActionScript-klasse die extern geladen wave-bestanden kan afspelen, naar de Google Code-pagina kan gaan en de broncode kan ophalen.
Nu is deze klasse niet precies gemaakt voor externe wav-weergave; hier is een korte beschrijving van de auteur:
De Flex SDK ondersteunt geen native (ingesloten) .wav-bestanden. Tot dusver werkten ontwikkelaars hieromheen met behulp van lelijke hacks (het genereren van swf bytedata om de Flash Player te misleiden). Niet meer. AWS is in de dunste zin gewoon een enkele as3-klasse. Het breidt de generieke klasse Sound uit in Flash en voegt ondersteuning toe voor het afspelen van WAVE-gegevens. U hebt deze geluidsklasse niet nodig als u met de Flash IDE of Flex Builder werkt, omdat deze .wav-gegevens rechtstreeks naar Sound-objecten converteren. De open source SDK-compiler ondersteunt deze functie echter niet. Maar dat doet het nu!
De Flash IDE converteert de wav-gegevens inderdaad naar Sound-objecten, maar alleen voor ingesloten bestanden (geïmporteerd in de bibliotheek); als je een extern wav-bestand wilt spelen, gebruik dan de volgende methode?
Bereid een nieuwe ActionScript-klasse voor en schrijf de volgende code:
pakket import flash.display.Sprite; import flash.events.MouseEvent; import flash.net.URLLoader; import flash.net.URLRequest; import flash.events.Event; import flash.utils.ByteArray; import flash.media.Sound; import org.as3wavsound.WavSound; import org.as3wavsound.WavSoundChannel; openbare slotklasse Hoofd breidt uit openbare laatste functie Main (): void playB.addEventListener (MouseEvent.MOUSE_UP, loadWav); private laatste functie loadWav (e: MouseEvent): void var urlRequest: URLRequest = new URLRequest ('Phone.wav'); var wav: URLLoader = new URLLoader (); wav.dataFormat = 'binair'; wav.load (URLRequest); wav.addEventListener (Event.COMPLETE, playWav); private final-functie playWav (e: Event): void var tts: WavSound = new WavSound (e.target.data as ByteArray); tts.play ();
Dit is de basiscode voor het laden van een extern bestand in AS3, de URLLoader
class gebruikt de URLRequest
om de locatie te bepalen van het bestand dat moet worden geladen (dat wordt geladen als binaire gegevens) en wanneer u klaar bent, wordt de klasse WavSound gebruikt om het geluid af te spelen.
Bekijk de demo voor een werkvoorbeeld met behulp van de code.
Houd er rekening mee dat deze klasse niet elk wave-geluid zal afspelen: het bestand moet een samplefrequentie van 44100, 22050 of 11025 Hz hebben en bitrate-voorbeeldgegevens van 8 of 16.
Gebruik deze klasse om uw externe WAV-bestanden af te spelen.
Ik hoop dat je deze tutorial leuk vond, bedankt voor het lezen!