WAVEファイルはWindowsのマルチメディアアプリケーションを収めたRIFF形式(Resource Interchange File Format)という形式をとっております。
WAVEファイルの読み込み手順は以下の通りです。
- マルチメディアファイル入出力関数を使って、WAVEファイルを開きます。
- RIFFチャンクに進入して、WAVEチャンクを探します。
- fmtチャンクに進入して、fmtチャンクを読み込み、その内容を元にしてWAVEFORMATEX構造体を作成します。
- fmtチャンクから退出して、dataチャンクに進入します。
- dataチャンクの先頭データ位置を音源データの先頭位置として保存し、ファイル末尾に移動して、実際のファイルサイズを取得します。
- 先に作成したWAVEFORMATEX構造体を元にWAVE出力デバイスを開きます。
- WAVE出力デバイスからのコールバックイベントをトリガにして、ダブルバッファに音源データを読み込みながら演奏していきます。
- ファイル末尾まで読み込むか、演奏停止イベントがあればWAVE出力デバイスを停止してから閉じます。
- RIFFチャンクから退出してファイルを閉じます。
続きを読む