0

Flash 10 は Speex オーディオ形式をサポートしていると思われます。SWF にいくつかの Speex ファイルを埋め込みたい:

[Embed(source='assets/test.spx',mimeType='audio/x-speex')]
private static const SpeexSound:Class;

ただし、次のエラーが表示されます。

no transcoder registered for mimeType 'audio/x-speex'

何か案は?

4

3 に答える 3

1

Speexは実際のトランスポート形式ではありません。プロトコルにフレーミングが組み込まれていないため、通常はOGGストリームにラップされます(残念ながら、そのAPIはSpeex API自体よりも複雑ですが、私は逸脱します...) /x-speex」は実際には「SpeexinOGG」を意味します。

FlashがOGGをサポートしているところはどこにも見たことがないので、取得したファイルは機能しspeexencません:(

伝えられるところによると、FlashはSpeexをFLV形式でエンコード/デコードします(このページによると:http://jira.red5.org/confluence/display/codecs/Speex+Codec)。Flash 9をターゲットにしたいので(おそらくffmpegは少しいじると正しくエンコードされるでしょう)、これを試していませんが、これでどこにでも行けるかどうか教えてください。

于 2009-07-18T17:41:16.807 に答える
0

私はこれをもう少し研究してきました。オプションは次のとおりです。

  1. ogg speex ファイルを埋め込み、Alchemy でコンパイルされた libOgg と libSpeex を使用してデコードします。デコードされたバイトは、SampleDataEvent.SAMPLE_DATAを介して Flash に供給することができます。libSpeex が Flash Player のどこかにあることがわかっているのに、Alchemy を使わなければならないというのは皮肉なことです。
  2. 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 をサポートしていません。ぐら。おそらく、それを行う他の変換ツールがありますか?

于 2009-07-29T20:52:46.963 に答える
0

サーバー側では、このだまされた ffmpeg プロジェクトを使用できます。

http://code.google.com/p/xuggle-ffmpeg/

そして、オーディオを次のようにエンコードします。

ffmpeg -i test.wav -acodec libspeex -f flv -y speex.flv
于 2011-12-10T20:22:31.637 に答える