Per impostazione predefinita, Flash può riprodurre file WAV quando si trovano nella Libreria, ma non durante il caricamento di file esterni. Leggi questo suggerimento rapido per imparare come suonarli.
Useremo metodi comuni per richiedere e caricare il file WAV desiderato e utilizzare una fantastica classe di terze parti per riprodurre il file caricato.
AS3WavSound (AWS) è un'eccellente classe ActionScript in grado di riprodurre file wave caricati esternamente, andare alla sua pagina Codice Google e ottenere il codice sorgente.
Ora questa classe non è stata creata esattamente per la riproduzione wav esterna; ecco una breve descrizione dell'autore:
Flex SDK non supporta in modo nativo i file .wav (incorporati). Finora gli sviluppatori hanno lavorato su questo usando brutti hack (generando swed bytedata per ingannare il Flash Player). Non più. AWS nel senso più sottile è semplicemente una singola classe as3. Estende la classe Sound generica in Flash e aggiunge il supporto per la riproduzione dei dati WAVE. Non hai bisogno di questa classe sonora se stai lavorando con Flash IDE o Flex Builder, dato che convertono i dati .wav direttamente su Oggetti sonori. Il compilatore SDK open source tuttavia non supporta questa funzionalità. Ma lo fa adesso!
Flash IDE converte infatti i dati wav in oggetti Sound, ma solo per i file incorporati (importati nella Libreria); se si desidera riprodurre un file wav esterno, utilizzare il seguente metodo?
Preparare una nuova classe ActionScript e scrivere il seguente codice:
pacchetto 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 extends Sprite funzione public final Main (): void playB.addEventListener (MouseEvent.MOUSE_UP, loadWav); private final function loadWav (e: MouseEvent): void var urlRequest: URLRequest = new URLRequest ('Phone.wav'); var wav: URLLoader = new URLLoader (); wav.dataFormat = 'binary'; wav.load (urlRequest); wav.addEventListener (Event.COMPLETE, playWav); private final function playWav (e: Event): void var tts: WavSound = new WavSound (e.target.data come ByteArray); tts.play ();
Questo è il codice di base per caricare un file esterno in AS3, il URLLoader
la classe usa il URLRequest
per determinare la posizione del file da caricare (che viene caricato come dati binari) e al termine, la classe WavSound viene utilizzata per riprodurre il suono.
Guarda la demo per un esempio funzionante usando il codice.
Tieni presente che questa classe non riprodurrà ogni suono wave: il file deve avere una frequenza di campionamento di 44100, 22050 o 11025 Hz e dati campione di bitrate di 8 o 16.
Utilizzare questa classe per riprodurre i file WAV esterni.
Spero che questo tutorial ti sia piaciuto, grazie per la lettura!