DirectShowオーディオキャプチャでのWavファイル出力(その1)
まずは、今回利用するDirectShowフィルタのWavDestについてです。このWavDestフィルタは入力としてオーディオ ストリームを1つ受け取って、WAVファイルにオーディオストリームを書き込むというフィルタです。このフィルタはDirectShowのサンプルプログラムとして提供されているものです。PlatformSDKのディレクトリの(platformSDKディレクトリ)?Samples?Multimedia?DirectShow?Filters?WavDestにあります。コンパイルして、regsvr32.exeでレジストリに登録してから利用可能となります。こちらにコンパイルしたWavDest.axと登録(reg.bat)、登録解除(unreg.bat)のbatファイルを置いておきます。(※御利用の場合は自己責任でお願いします。)WavDest.axが登録出来ると、以下のようにGraphEditツールでも利用可能となります。GraphEditのメニュー → Insert Filters → DirectShow Filters の一覧で確認出来ます。
WavDestフィルタ

次にフィルタの準備が出来たので、GpaphEditでフィルタを接続して今回のプログラムの機能の確認をします。私のPCでは以下のようなグラフになりました。
GraphEditでのグラフ

左からオーディオキャプチャフィルタ、WavDestフィルタ、FileWriterフィルタとなります。FileWriterにはvoice.wavというファイル名を設定しています。オーディオキャプチャフィルタはGraphEditのメニュー → Insert Filters → DirectShow Filters → Audio Capture Sources で追加出来ます。以下は私のPCでの画面です。
オーディオキャプチャフィルタ

これでマイクを接続して、グラフを開始するとマイクからの音声がwavファイルに出力されます。
次回でこのグラフの機能をプログラミングします。
参考サイト
WavDest フィルタ サンプル
Windowsプログラミング関連記事
Posted by nishida at 00:55:58


