1

たとえば、これは pulseaudio の使用方法です: http://freedesktop.org/software/pulseaudio/doxygen/pacat-simple_8c-example.html

しかし、wav ファイルや ogg ファイルを単純に再生する方法がよくわかりません。

4

2 に答える 2

1

サンプル コードは、ファイルから生の PCM データを再生します。トリックは、wav ファイルからこの形式にデータを取得することです。Microsoft の wav ファイルは次のようになります。

https://ccrma.stanford.edu/courses/422/projects/WaveFormat/

Wav ファイルは生の PCM データを保存するだけです。wav ファイルからヘッダーを取り除き、残りをファイルにダンプするだけです (拡張子は関係ありませんが、私は .raw を使用するのが好きです)。つまり、バイト 44 以降のすべてを新しいファイルにコピーするか、それ以降のすべてを直接バッファに読み込むプログラムを作成できます。いずれかの形式を pulseaudio の例に渡すと、準備完了です。

注意すべきこと: ファイルとシステムのエンディアン。ビット深度; チャンネル数。これらは wav ヘッダーにあり、データを再生する前にそれらを読み、pa_simple に伝える必要がある場合があります。ただし、pa_simple がこの情報を検出しているかどうかはわかりません。私は非同期実装を使用するのが好きで、形式を直接入力するだけです。

-E

于 2012-12-21T21:33:25.117 に答える