Microsoft DirectX 8.0 (Visual Basic)

ウェーブ データの使い方

DirectSound バッファは、固定サンプリング レートのサウンドのデジタル サンプルで構成されるウェーブフォーム オーディオ データのみ再生する。アナログ シグナルを数字のシーケンスで表現することを、パルス コード変調 (PCM) と呼ぶ。

ウェーブ データは、通常、RIFF (Resource Interchange File Format) のファイルまたはリソースに保存される。このデータには、サンプリング レートや出力チャンネル数などのパラメータを含む、ウェーブ フォーマットの記述が含まれる。

サウンドの特定のフォーマットは、WAVEFORMATEX 型を使って記述できる。

  DirectX for Visual Basic タイプ ライブラリの WAVEFORMATEX 型は、Mmreg.h で宣言され、ウェーブ ファイルやリソースのフォーマット チャンクで使用される WAVEFORMATEX 構造体と同じではない。フォーマット チャンクの読み込みおよび DirectX WAVEFORMATEX 型への関連データのコピーの方法については、「ウェーブ ファイルの読み込み」を参照すること。

DirectSound8.CreateSoundBufferFromFile または DirectSound8.CreateSoundBufferFromResource を使ってスタティック バッファを作成する場合、作成されるバッファのフォーマットは常にデータのフォーマットに一致するので、バッファのフォーマットは指定しない。ただし、DirectSound8.CreateSoundBuffer を使ってバッファを作成する場合はフォーマットを指定する必要があり、このフォーマットはバッファで再生するデータのフォーマットと一致していなければならない。

DirectSound は、圧縮ウェーブ フォーマットをサポートしていない。アプリケーションはサウンド バッファにデータを書き込む前に、Platform SDK 内の Win32 API で提供されているオーディオ圧縮マネージャ (ACM) 関数を使って、圧縮されたオーディオ データを PCM フォーマットに変換すべきである。この代わりに、DirectMusic パフォーマンスで再生するために圧縮されたウェーブをロードしたときに、自動的に ACM を利用する DirectMusic ローダーを使用することもできる。

ウェーブの詳細については、次のトピックを参照すること。