[Embed(source='assets/test.spx',mimeType='audio/x-speex')]
private static const SpeexSound:Class;
然而,我收到错误:
no transcoder registered for mimeType 'audio/x-speex'
有什么想法吗?
答案 0 :(得分:1)
Speex不是真正的传输格式 - 它没有内置于协议中的框架,因此它通常包含在OGG流中(不幸的是,其API比Speex API本身更复杂,但我离题了......)所以“audio / x-speex”的确意味着“OGG中的Speex”。
我还没有看到Flash支持OGG的任何地方 - 所以你从speexenc
获得的那些文件无效:(
据报道,Flash以FLV格式对Speex进行编码/解码(根据此页面:http://jira.red5.org/confluence/display/codecs/Speex+Codec)。我没有尝试过这个,因为我想要定位Flash 9(也许ffmpeg可以正确编码一些小提琴)但是如果你有任何地方可以告诉我。
答案 1 :(得分:0)
我一直在研究这个问题。以下是选项:
您无法嵌入FLV,但可以嵌入SWF,因此将Speex FLV转换为Speex SWF。可以使用ffmpeg完成转换:
$ ffmpeg -i test-with-speex.flv -vn test.swf
然而,遗憾的是,这会自动将音频转换为SWF内的MP3。您应该能够像这样保存编解码器
$ ffmpeg -i test-with-speex.flv -vn -acodec libspeex test.swf
但ffmpeg目前不支持非MP3 SWF。格儿。也许还有其他转换工具可以做到吗?
答案 2 :(得分:0)
在服务器端,您可以使用这个被欺骗的ffmpeg项目:
http://code.google.com/p/xuggle-ffmpeg/
将您的音频编码为:
ffmpeg -i test.wav -acodec libspeex -f flv -y speex.flv