Implicit, Flash poate reda fișiere WAV atunci când acestea sunt localizate în Bibliotecă, dar nu și atunci când se încarcă fișiere externe. Citiți acest sfat rapid pentru a afla cum să le jucați.
Vom folosi metode comune pentru a solicita și încărca fișierul WAV dorit și pentru a reda fișierul încărcat să folosească o clasă terță parte fantastică.
AS3WavSound (AWS) este o clasă excelentă ActionScript care poate reda fișiere de valuri încărcate extern, merge pe pagina codului Google și obține codul sursă.
Acum această clasă nu a fost creată exact pentru redarea externă a formatelor wav; aici este o scurtă descriere a autorului:
SDK-ul Flex nu suportă în mod natural redarea (încorporată) a fișierelor .wav. Până acum dezvoltatorii au lucrat în jurul acestui lucru folosind hacks urât (generând swf bytedata pentru a păcăli Flash Player). Nu mai. AWS în sensul cel mai subțire este pur și simplu o singură clasă as3. Extinde clasa generică de sunet în Flash și adaugă suport pentru redarea datelor WAVE. Nu aveți nevoie de această clasă de sunet dacă lucrați cu Flash IDE sau Flex Builder, deoarece convertesc datele .wav direct în obiecte de sunet. Cu toate acestea, compilarea SDK open source nu acceptă această caracteristică. Dar acum se întâmplă!
Flash IDE convertește într-adevăr datele wav la obiecte de sunet, dar numai pentru fișiere încorporate (importate în Bibliotecă); dacă doriți să redați un fișier extern wav, utilizați următoarea metodă?
Pregătiți o nouă clasă ActionScript și scrieți următorul cod:
pachet import flash.display.Sprite; importul flash.events.MouseEvent; import flash.net.URLLoader; import flash.net.URLRequest; importul flash.events.Event; import flash.utils.ByteArray; import flash.media.Sound; import org.as3wavsound.WavSound; import org.as3wavsound.WavSoundChannel; public final class Main extinde Sprite funcția publică finală Main (): void playB.addEventListener (MouseEvent.MOUSE_UP, loadWav); funcția finală privată loadWav (e: MouseEvent): void var urlRequest: URLRequest = nou URLRequest ('Phone.wav'); var wav: URLLoader = noul URLLoader (); wav.dataFormat = 'binar'; wav.load (URLRequest); wav.addEventListener (eveniment.COMPLETE, playWav); funcția finală privată playWav (e: Event): void var tts: WavSound = nou WavSound (e.target.data ca ByteArray); tts.play ();
Acesta este codul de bază pentru încărcarea unui fișier extern în AS3, URLLoader
clasa utilizează URLRequest
pentru a determina locația fișierului care trebuie încărcat (care este încărcat ca date binare) și când este terminat, clasa WavSound este utilizată pentru redarea sunetului.
Consultați demo-ul pentru un exemplu de lucru folosind codul.
Rețineți că această clasă nu va reda niciun sunet de val: fișierul trebuie să aibă o rată de eșantionare de 44100, 22050 sau 11025 Hz și date de eșantionare bitrate de 8 sau 16.
Utilizați această clasă pentru a reda fișierele externe WAV.
Sper că ți-a plăcut acest tutorial, mulțumesc pentru lectură!