繁体   English   中英

Adobe Flash:从文件播放Speex音频

[英]Adobe flash : Playing Speex Audio from a file

我非常努力地寻找一个示例,说明如何在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音频? 请帮忙!

(如果您能提供一个示例,那就太好了。)

从我的测试来看,ArtBIT似乎也是正确的。 SPX只能作为FLV容器中的音频编解码器播放。 您有几种选择:

  1. 通过重新编码将SPX文件提前用FLV容器包装。
  2. 使用FMS或Red / Xuggle进行“实时”转码(http://www.pubbs.net/200906/osflash/18579-red5-streaming-speex-audio.html)
  3. 将SPX加载为字节数组,然后使用类似的库将其包装为FLV: http : //www.zeropointnine.com/blog/simpleflvwriteras-as3-class-to-create-flvs/

希望这可以帮助。

您将不得不将其放入flv容器中,所有闪存媒体服务器都不允许以任何其他形式(除非其进行实时广播)允许它。 您可以使用新版本的ffmpeg转换文件,如下所示:
ffmpeg -i RE-Sample.m4a -y -vn -acodec libspeex -ac 1 -ar 16000 -f flv RE-Sample.flv

这听起来像是炼金术的工作。 使用Alchemy,您可以将Speex解码器从C转换为AS3。 这是Adobe Labs的链接,其中有一个将OggVorbis解码器从C转换为AS3的示例: http : //labs.adobe.com/wiki/index.php/Alchemy : Libraries

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

尝试用flv吗?

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM