2009-03-20 13 views
6

Digamos que tengo un archivo WAV a una url:¿Puede el reproductor flash reproducir archivos .wav desde una url?

http://hostname.com/mysound.wav 

Estoy intentando cargar el archivo WAV con la clase de sonido como:

var url:String = "http://hostname.com/test.wav"; 
var urlRequest:URLRequest = new URLRequest(url); 
var sound:Sound = new Sound(); 
sound.load(urlRequest); 
sound.play(); 

Sin embargo, esto no parece trabajo. ¿Puede el reproductor flash reproducir archivos wav, o solo son mp3s?

+0

Qué códec se codifica en su wav? Wav es un contenedor, no un formato de sonido. Puede contener raw, MP3, uLaw y otros. – strager

+0

La gran mayoría de los wavs son crudos. Y no creo que importe en este caso de todos modos. Es el formato del contenedor lo que importa. – aaaidan

+0

Puede encubrir el archivo – Geo

Respuesta

2

Sí, se puede. He creado Wav/Au Flash Player, que puede reproducir stream wav, codificado en G.711 o PCM en cualquier longitud de bit y frecuencia de muestreo. bajo licencia de GPLv2, aquí: http://blog.datacompboy.ru/2009/10/15/wav-au-flash-player/

+1

Déjame contarte algo sobre esta publicación. He estado buscando alrededor de una hora, bastante difícil de encontrar una solución universal. JURO esto es EXACTAMENTE lo que necesitarías para reproducir diferentes pequeños clips de sonido en tu página web con la máxima compatibilidad con el navegador y la carga mínima. Hace EXACTAMENTE lo que espera, fácil de probar e integrar.Obtenga una instantánea del código de git: http://git.datacompboy.ru/?p=WavPlayer.git;a=snapshot;h=b24cc6500058ec35c95953095c797865488416dd;sf=tgz y simplemente ponga en el directorio web. Crea tu WAV codificado en gsm con Sound Recorder, pon el mismo directorio que tinyembed.html para ver de qué estoy hablando – PatlaDJ

9

aquí una clase simple para cargar y reproducir archivos WAV desde una URL en flash utilizando la biblioteca de código abierto popforge: http://code.google.com/p/popforge/

saludos!

public class WavURLPlayer 
    { 


     public static function PlayWavFromURL(wavurl:String):void 
     { 
     var urlLoader:URLLoader = new URLLoader(); 
     urlLoader.dataFormat = URLLoaderDataFormat.BINARY; 
     urlLoader.addEventListener(Event.COMPLETE, onLoaderComplete); 
     urlLoader.addEventListener(IOErrorEvent.IO_ERROR, onLoaderIOError); 

     var urlRequest:URLRequest = new URLRequest(wavurl); 

     urlLoader.load(urlRequest); 
     } 

     private static function onLoaderComplete(e:Event):void 
     { 
     var urlLoader:URLLoader = e.target as URLLoader; 
     urlLoader.removeEventListener(Event.COMPLETE, onLoaderComplete); 
     urlLoader.removeEventListener(IOErrorEvent.IO_ERROR, onLoaderIOError); 

     var wavformat:WavFormat = WavFormat.decode(urlLoader.data); 

     SoundFactory.fromArray(wavformat.samples, wavformat.channels, wavformat.bits, wavformat.rate, onSoundFactoryComplete); 
     } 

     private static function onLoaderIOError(e:IOErrorEvent):void 
     { 
     var urlLoader:URLLoader = e.target as URLLoader; 
     urlLoader.removeEventListener(Event.COMPLETE, onLoaderComplete); 
     urlLoader.removeEventListener(IOErrorEvent.IO_ERROR, onLoaderIOError); 

     trace("error loading sound"); 

     } 

     private static function onSoundFactoryComplete(sound:Sound):void 
     { 
     sound.play(); 
     } 


} 
+3

Esta debería ser la respuesta aceptada, ya que logra cargar/reproducir un .wav desde una URL. La respuesta aceptada es solo señalar que la clase Sound no admite cargar un .wav desde una url. – prototypical

0

Flash en sí mismo no es compatible con la reproducción de archivos .wav. Flash/Flex Builder lo compila directamente en un objeto Sound listo para ser reproducido en sus scripts, pero para el sonido .wav externo, Flash SDK no lo ayudará.

Tendrá que leer los datos .wav usted mismo y hacer Flash play, o: hay un par de bibliotecas de terceros que hacen esto por usted. El puesto anterior utiliza popforge, aquí está tutorial que demuestra as3wavsound reproduce un archivo .wav externo de una URL:

http://active.tutsplus.com/tutorials/media/quick-tip-play-external-wav-files-in-as3/

Cuestiones relacionadas