Adobe flash : 从文件播放 Speex 音频
Posted
技术标签:
【中文标题】Adobe flash : 从文件播放 Speex 音频【英文标题】:Adobe flash : Playing Speex Audio from a file 【发布时间】:2011-03-25 19:02:51 【问题描述】:我非常努力地寻找一个示例来展示如何在 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");
可在 -
http://www.adobe.com/devnet/flashplayer/articles/hd_video_flash_player_03.html
我用 .flv 视频和 AAC 编码的音频文件测试了上面的代码,它工作得很好。但是当我尝试 stream_ns.play("sample.spx") 时,我得到了一个未找到流的异常。
我是否为 speex 音频使用了错误的容器 (.spx)。是否支持从文件播放 speex 音频?请帮忙!
(如果你能提供一个例子就好了。)
【问题讨论】:
【参考方案1】:从我的测试来看,ArtBIT 似乎也是正确的。 SPX 只能作为 FLV 容器中的音频编解码器播放。您有几个选择:
-
通过重新编码,提前使用 FLV 容器包装您的 SPX 文件。
使用 FMS 或 Red/Xuggle 进行“实时”转码 (http://www.pubbs.net/200906/osflash/18579-red5-streaming-speex-audio.html)
将 SPX 加载为字节数组,然后使用如下库将其包装为 FLV:http://www.zeropointnine.com/blog/simpleflvwriteras-as3-class-to-create-flvs/
希望这会有所帮助。
【讨论】:
【参考方案2】:您必须将它放在 flv 容器中,任何 Flash 媒体服务器都不允许它以任何其他形式出现(除非它是现场直播)。您可以使用较新版本的 ffmpeg 转换文件,如下所示:
ffmpeg -i RE-Sample.m4a -y -vn -acodec libspeex -ac 1 -ar 16000 -f flv RE-Sample.flv
【讨论】:
【参考方案3】:这听起来像是炼金术的工作。使用 Alchemy,您可以将 Speex 解码器从 C 转换为 AS3。这是 Adobe Labs 的链接,其中有一个将 OggVorbis 解码器从 C 转换为 AS3 的示例:http://labs.adobe.com/wiki/index.php/Alchemy:Libraries
【讨论】:
【参考方案4】:根据http://osflash.org/flv#codecs1flv
是唯一支持speex
编解码器的容器。
用 flv 试试?
【讨论】:
以上是关于Adobe flash : 从文件播放 Speex 音频的主要内容,如果未能解决你的问题,请参考以下文章
是否可以在 android 中实现 adobe flash player
【An教程】快速入门Animate(原Adobe Flash)
如何在 Beamer 上添加 gif/动画(Adobe 停用 Flash)