Hurtig Tips Spill eksterne WAV-filer i AS3

Som standard kan Flash spille WAV-filer når de er plassert i biblioteket, men ikke når du laster inn eksterne filer. Les gjennom denne raske tipsen for å lære hvordan du spiller dem.


Trinn 1: Kort oversikt

Vi bruker vanlige metoder for å be om og laste inn ønsket WAV-fil, og bruk en fantastisk tredjepartsklasse til å spille den lastede filen.


Trinn 2: AS3WavSound

AS3WavSound (AWS) er en utmerket ActionScript-klasse som kan spille eksternt lastede bølgefiler, gå til sin Google Kode-side og få kildekoden.

Nå var denne klassen ikke akkurat opprettet for ekstern wav-avspilling; her er en kort beskrivelse fra forfatteren:

Flex SDK støtter ikke å spille (innebygd) .wav-filer. Så langt utviklere jobbet rundt dette ved hjelp av stygge hacks (genererer swf bytedata for å lure Flash Player). Ikke nå lenger. AWS i den smaleste følelsen er bare en enkelt as3 klasse. Den utvider generisk lydklasse i Flash og legger til støtte for å spille av WAVE-data. Du trenger ikke denne lydklassen hvis du jobber med Flash IDE eller Flex Builder, da de konverterer .wav-data direkte til Sound-objekter. SDK-kompilatoren for åpen kildekode støtter imidlertid ikke denne funksjonen. Men det gjør det nå!

Flash IDE konverterer faktisk wav-dataene til Sound-objekter, men bare for innebygde filer (importert til biblioteket); Hvis du vil spille en ekstern wav-fil, bruker du følgende metode?


Trinn 3: Bruk

Klargjør en ny ActionScript-klasse og skriv følgende kode:

 
 pakke import flash.display.Sprite; importer flash.events.MouseEvent; importer flash.net.URLLoader; importere flash.net.URLRequest; importere flash.events.Event; importere flash.utils.ByteArray; importere flash.media.Sound; importer org.as3wavsound.WavSound; importer org.as3wavsound.WavSoundChannel; offentlig siste klasse Hoved utvider Sprite offentlig endelig funksjon Main (): void playB.addEventListener (MouseEvent.MOUSE_UP, loadWav);  privat endelig funksjon loadWav (e: MouseEvent): void var urlRequest: URLRequest = ny URLRequest ('Phone.wav'); var wav: URLLoader = ny URLLoader (); wav.dataFormat = 'binær'; wav.load (URLRequest); wav.addEventListener (Event.COMPLETE, playWav);  privat endelig funksjon playWav (e: Event): void var tts: WavSound = ny WavSound (e.target.data som ByteArray); tts.play (); 

Dette er grunnleggende kode for lasting av en ekstern fil i AS3, URLLoader klassen bruker URLRequest for å bestemme plasseringen av filen som skal lastes (som er lastet som binær data) og når den er ferdig, brukes WavSound-klassen til å spille av lyden.


Trinn 4: Eksempel

Ta en titt på demoen for et fungerende eksempel ved å bruke koden.


Trinn 5: Om WAV-filer

Husk at denne klassen ikke vil spille hver bølgelyd: filen må ha en prøvefrekvens på 44100, 22050 eller 11025 Hz, og bitrate sample data på 8 eller 16.


Konklusjon

Bruk denne klassen til å spille dine eksterne WAV-filer.

Jeg håper du likte denne opplæringen, takk for å lese!