假设我在网址上有一个wav文件:
http://hostname.com/mysound.wav
我正在尝试使用声音类加载wav文件,如:
var url:String = "http://hostname.com/test.wav";
var urlRequest:URLRequest = new URLRequest(url);
var sound:Sound = new Sound();
sound.load(urlRequest);
sound.play();
但是,这似乎不起作用。 Flash播放器可以播放wav文件,还是只是mp3?
答案 0 :(得分:13)
答案 1 :(得分:9)
这是一个简单的类,用于使用开源popforge库从flash中的url加载和播放wav文件:http://code.google.com/p/popforge/
喝彩!
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();
}
}
答案 2 :(得分:5)
由于ByteArray,你可以直接进行解决方法; )
检查一下:
编辑:
之前的链接有点旧我 估计你也应该看看 安德烈和乔的神话般的 PopForge 图书馆。实际上有一个wav 那里的解码器课程。
答案 3 :(得分:2)
是的,你可以。我制作了Wav / Au Flash播放器,它可以播放流wav,以G.711或PCM编码,可以任意比特长度和采样率。 根据GPLv2许可,在此处:http://blog.datacompboy.ru/2009/10/15/wav-au-flash-player/
答案 4 :(得分:0)
Flash本身不支持播放.wav文件。 Flash / Flex Builder将其直接编译为可以在脚本中播放的Sound对象,但对于外部.wav声音,Flash SDK将无法帮助您。
您需要自己阅读.wav数据并进行Flash播放,或者:有几个第三方库可以为您执行此操作。上面的帖子使用了popforge,这里的教程演示了as3wavsound从URL播放外部.wav文件:
http://active.tutsplus.com/tutorials/media/quick-tip-play-external-wav-files-in-as3/