2009-03-20 5 views
6

Disons que j'ai un fichier wav à une URL:Est-ce que le lecteur Flash peut lire les fichiers .wav d'une URL?

http://hostname.com/mysound.wav 

Je suis en train de charger le fichier wav avec la classe sonore comme:

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

Cependant, cela ne semble pas travail. Est-ce que Flash Player peut lire des fichiers wav, ou est-ce juste des mp3?

+0

Quel codec est votre wav codé en? Wav est un conteneur, pas un format sonore. Il peut contenir raw, MP3, uLaw et autres. – strager

+0

La grande majorité des wavs sont crus cependant. Et je ne pense pas que ce soit important dans ce cas de toute façon. C'est le format de conteneur qui compte. – aaaidan

+0

Vous pouvez convertir le fichier – Geo

Répondre

2

Oui, vous pouvez. J'ai fait le lecteur Flash de Wav/Au, qui peut lire le flux wav, codé en G.711 ou en PCM dans n'importe quel bitlength et samplerate. distribué sous licence GPLv2, ici: http://blog.datacompboy.ru/2009/10/15/wav-au-flash-player/

+1

Laissez-moi vous dire quelque chose sur ce post. J'ai cherché environ une heure, assez difficile à trouver une solution universelle. Je SUIS, c'est exactement ce dont vous auriez besoin pour jouer différents petits clips sonores sur votre page Web avec une compatibilité maximale avec le navigateur et une charge minimale. Il fait EXACTEMENT ce que vous attendez, facile à tester et à intégrer.Obtenez un instantané du code git: http://git.datacompboy.ru/?p=WavPlayer.git;a=snapshot;h=b24cc6500058ec35c95953095c797865488416dd;sf=tgz alors il suffit de mettre dans le répertoire web. Créez votre WAV encodé en gsm avec Sound Recorder, placé dans le même répertoire que tinyembed.html pour voir de quoi je parle. – PatlaDJ

9

ici une simple classe pour le chargement et la lecture des fichiers WAV à partir d'une URL en flash utilisant la bibliothèque popforge open source: http://code.google.com/p/popforge/

acclamations!

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

Cela devrait être la réponse acceptée car elle permet de charger/lire un fichier .wav depuis une URL. La réponse acceptée est juste de souligner que la classe Sound ne supporte pas le chargement d'un .wav depuis une URL. – prototypical

0

Flash lui-même ne prend pas en charge la lecture de fichiers .wav. Flash/Flex Builder le compile directement dans un objet Sound prêt à être lu dans vos scripts, mais pour le son externe .wav, le SDK Flash ne vous aidera pas.

Vous aurez besoin de lire vous-même les données .wav et de faire jouer Flash, ou: il y a quelques bibliothèques tierces autour de vous qui font cela. Le message ci-dessus utilise popforge, voici tutoriel qui montre as3wavsound lecture d'un fichier .wav externe à partir d'une URL:

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

Questions connexes