0

Windows でアプリケーションが呼び出さwaveOutWrite(HWAVEOUT hwo, LPWAVEHDR pwh, UINT cbwh)れると、オーディオ カードに送信されたオーディオ データ (pw->lpData が指す) のコピーをメモリに保存します。

音声データを WAV 形式のファイルとしてディスクに保存したいのですが、どのようにすればよいですか?

オーディオ データ ブロックへのポインタとオーディオ データのサイズを取得しました。

4

2 に答える 2

2

wav 形式は非常に簡単で、独自の実装を簡単に作成できます。または、 libsndfileなどのライブラリを使用できます。

于 2012-09-15T14:26:52.593 に答える
0

従来のマルチメディア API では、、、関数ファミリーを使用mmioOpenmmioCreateChunkますmmioWrite。ここにコード スニペットがあります: WAV 保存? . API を使用すると、これらの RIFF ファイルを書き込むことができますが、構造はそれほど複雑ではなく、バイナリ ファイルに直接書き込むことができます。

まだ WinAPI ですが、あなたのwaveOutWrite:

  • DirectShow APIでは、 WavDest サンプルと、それを使用して受信データをファイルに書き込むフィルター グラフが必要です。
  • 最新の Media Foundation API WavSink Sampleが役に立ちます。
于 2012-09-15T14:40:44.003 に答える