我想播放由 Speex 编码的 *.spx 文件在网上。
但我不了解 Flash/Flex 或任何 Flash 音频编解码器。谷歌搜索了一整天,我得到了一些解决方案,即:
现在我可以在 Flex 中播放 SPX-Audio-Only FLV 文件,我使用
netStream.play("audio-only-speex.flv")
, 但我不知道如何使用 ActionScript 用 FLV 容器包装 Spx 文件。任何示例项目?
我查看了他们都解码了 OGG Vorbis 但没有 Speex 的流动页面:(
http://barelyfocused.net/blog/2008/10/03/flash-vorbis-player
http://www.exswap.com/?p=132
http://mauft.com/2010/11/ogg-vorbis-in-flash
Adobe 还提供了一个由 Alchemy 移植的 AS3 OggVorbis 库:
http://labs.adobe.com/wiki/index.php/Alchemy:Libraries
以前没听过FMS的东西,也不知道我的虚拟主机能不能支持...
我认为最好的解决方案是在 AS3 中解码 Spx,是的,我想做一个 Spx Flash Player。
所以,我从 speex.org 下载了 Speex Library,安装了 Adobe Alchemy。后
./configure;make
libspeex,通过 Alchemy 将 libspeex/speex.c 构建为 libspeex.swc。然后,我不知道接下来该怎么办。如何使用 AS3 解码 speex 音频?我的 libspeex.swc:http://demo.0x123.com/libspeex.swc
另外,我应该使用 Alchemy API 重写 libspeex在构建 libspeex.swc 之前?
虽然我不是AS专业的,但是我有很强的学习能力。任何建议将不胜感激,非常感谢。
最佳答案
Adobe 明确表示暂时不要依赖 Alchemy,因此在客户端还没有正式的方法(据我所知)。鉴于显然使用了 speex 解码器,这很荒谬。
您可以使用 Xuggle 的 ffmpeg 特制版 (http://code.google.com/p/xuggle-ffmpeg/) 将 speex 嵌入 FLV 中吗?如果您可以批量或即时运行 xuggle,那么无论原始音频格式如何,您都可以提供 speex 编码的 FLV,可从 netStream.play
播放.
ffmpeg -i test.wav -acodec libspeex -f flv -y speex.flv
对于基本播放,您甚至不需要闪存媒体服务器。
关于actionscript-3 - Flash/Flex Speex 音频解码,播放 speex 文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8416185/