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。这是 Adob​​e Labs 的链接,其中有一个将 OggVorbis 解码器从 C 转换为 AS3 的示例:http://labs.adobe.com/wiki/index.php/Alchemy:Libraries

【讨论】:

【参考方案4】:

根据http://osflash.org/flv#codecs1flv是唯一支持speex编解码器的容器。

用 flv 试试?

【讨论】:

以上是关于Adobe flash : 从文件播放 Speex 音频的主要内容,如果未能解决你的问题,请参考以下文章

CentOS怎么安装Adobe Flash Player

是否可以在 android 中实现 adobe flash player

【An教程】快速入门Animate(原Adobe Flash)

如何在 Beamer 上添加 gif/动画(Adobe 停用 Flash)

如何绕过“Adobe Flash Player 已停止可能不安全的操作”。使用本地文件在 Mac 10.7 上运行

cefglue Flash