我试过很难找到一个展示如何在flash中播放speex编码音频的例子。我尝试了以下代码 -
var connect_nc:NetConnection = new NetConnection();
connect_nc.connect(null);
var stream_ns:NetStream = new NetStream(connect_nc);
stream_ns.play("RE-Sample.m4a");
avaible at -
http://www.adobe.com/devnet/flashplayer/articles/hd_video_flash_player _03.html
我用.flv视频和AAC编码的音频文件测试了上面的代码,它运行得很好。但是当我尝试使用stream_ns.play(“sample.spx”)时,我得到了一个未找到流的异常。
我是否使用错误的容器(.spx)进行speex音频。是否支持从文件中播放speex音频?请帮忙!
(如果你能提供一个例子,那将会很棒。)
答案 0 :(得分:2)
ArtBIT在我的测试中似乎也是正确的。 SPX只能作为FLV容器中的音频编解码器播放。您有几个选择:
希望这有帮助。
答案 1 :(得分:1)
您必须将它放在flv容器中,任何闪存介质服务器都不会以任何其他形式允许它(除非它是直播)。您可以使用较新版本的ffmpeg转换文件,如下所示:
ffmpeg -i RE-Sample.m4a -y -vn -acodec libspeex -ac 1 -ar 16000 -f flv RE-Sample.flv
答案 2 :(得分:1)
这听起来像是Alchemy的工作。使用Alchemy,您可以将Speex解码器从C转换为AS3。以下是Adobe Labs的链接,其中有一个将OggVorbis解码器从C转换为AS3的示例:http://labs.adobe.com/wiki/index.php/Alchemy:Libraries
答案 3 :(得分:0)
根据http://osflash.org/flv#codecs1 flv
是唯一支持speex
编解码器的容器。
尝试使用flv?