Tipp Spielen Sie externe WAV-Dateien in AS3

Standardmäßig kann Flash WAV-Dateien abspielen, wenn sich diese in der Bibliothek befinden, nicht jedoch beim Laden externer Dateien. Lesen Sie diesen Quick Tip, um zu erfahren, wie Sie sie spielen.


Schritt 1: Kurzübersicht

Wir verwenden gängige Methoden, um die gewünschte WAV-Datei anzufordern und zu laden, und verwenden eine fantastische Fremdklasse, um die geladene Datei abzuspielen.


Schritt 2: AS3WavSound

AS3WavSound (AWS) ist eine hervorragende ActionScript-Klasse, mit der extern geladene Wave-Dateien abgespielt werden können, die Google-Codeseite aufrufen und den Quellcode abrufen können.

Nun wurde diese Klasse nicht genau für die externe Wav-Wiedergabe erstellt. Hier eine kurze Beschreibung des Autors:

Das Flex-SDK unterstützt das Abspielen von (eingebetteten) WAV-Dateien nicht nativ. Bisher haben die Entwickler dies mit hässlichen Hacks umgangen (swf bytedata zum Trick des Flash Players). Nicht länger. AWS im engsten Sinne ist einfach eine einzige Klasse der Klasse 3. Es erweitert die generische Soundklasse in Flash und unterstützt die Wiedergabe von WAVE-Daten. Sie benötigen diese Soundklasse nicht, wenn Sie mit Flash IDE oder Flex Builder arbeiten, da sie .wav-Daten direkt in Sound-Objekte konvertieren. Der Open Source SDK-Compiler unterstützt diese Funktion jedoch nicht. Aber jetzt ist es soweit!

Die Flash-IDE konvertiert die WAV-Daten zwar in Sound-Objekte, jedoch nur für eingebettete Dateien (in die Bibliothek importiert). Wenn Sie eine externe WAV-Datei abspielen möchten, verwenden Sie die folgende Methode?


Schritt 3: Nutzung

Bereiten Sie eine neue ActionScript-Klasse vor und schreiben Sie den folgenden Code:

 
 package 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; public final class Main erweitert Sprite public final function Main (): void playB.addEventListener (MouseEvent.MOUSE_UP, loadWav);  private letzte Funktion loadWav (e: MouseEvent): void var urlRequest: URLRequest = neue URLRequest ('Phone.wav'); var wav: URLLoader = neuer URLLoader (); wav.dataFormat = 'binary'; wav.load (urlRequest); wav.addEventListener (Event.COMPLETE, playWav);  private letzte Funktion playWav (e: Event): void var tts: WavSound = new WavSound (e.target.data als ByteArray); tts.play (); 

Dies ist der grundlegende Code für das Laden einer externen Datei in AS3, der URLLoader Klasse verwendet die URLRequest Um den Ort der zu ladenden Datei zu bestimmen (die als Binärdaten geladen wird), wird die WavSound-Klasse verwendet, um den Sound abzuspielen.


Schritt 4: Beispiel

Schauen Sie sich die Demo mit Hilfe des Codes für ein Arbeitsbeispiel an.


Schritt 5: Informationen zu WAV-Dateien

Beachten Sie, dass diese Klasse nicht jeden Wave-Sound abspielt: Die Datei muss eine Sample-Rate von 44100, 22050 oder 11025 Hz haben und die Sample-Daten müssen 8 oder 16 sein.


Fazit

Verwenden Sie diese Klasse zum Abspielen Ihrer externen WAV-Dateien.

Ich hoffe, Ihnen hat dieses Tutorial gefallen, vielen Dank für das Lesen!