Microsoft DirectX 8.0 (C++) |
「DirectX Audio の基本的な概念」で説明されている基本的な項目を理解したら、次にアプリケーションで基本的なサウンドトラックを実装する。簡単な手順を学習した後、必要に応じてサウンドトラックを細かく制御するための API について学習することができる。
ここでは、コーディングの詳細には触れずに、必要な手順の概要について説明する。サンプル コードについては、「チュートリアル 1 : オーディオ ファイルの再生」を参照すること。
サウンドを生成するには、アプリケーションで次の処理を行う必要がある。
DirectMusic オブジェクトを作成するためのヘルパー関数はないので、CoInitializeEx を呼び出して COM を初期化する必要がある。
ほとんどのアプリケーションはパフォーマンス オブジェクトを 1 つだけ使用する。パフォーマンス オブジェクトは、CoCreateInstance を呼び出して、IDirectMusicPerformance8 インターフェイスを取得することによって作成できる。次に、IDirectMusicPerformance8::InitAudio を呼び出す。このメソッドによって、デフォルトのオーディオパスを設定できる。
CoCreateInstance を使用して、IDirectMusicLoader8 インターフェイスを取得する。この処理は一度だけ行う必要があり、アプリケーションを終了するまで同じローダー オブジェクトを使用する必要がある。
ローダーがデータ ファイルを見つけることができるように、IDirectMusicLoader8::SetSearchDirectory を呼び出す。次に、IDirectMusicLoader8::GetObject を呼び出してファイルまたはリソースからセグメントをロードし、その IDirectMusicSegment8 インターフェイスを取得する。
DLS データをシンセサイザにダウンロードすると、音色を再生できる。ウェーブ ファイルもダウンロードする必要がある。最も簡単な方法は、IDirectMusicSegment8::Download を呼び出す方法である。
セグメント ポインタを IDirectMusicPerformance8::PlaySegmentEx に渡す。
この処理の詳細については、次のトピックを参照すること。
注 DirectSound インターフェイスだけを使用してウェーブ サウンドを再生することもできる。ただし、このような処理を行うには、自分でデータ ソースを解析し、バッファへのデータのストリーミングを処理する必要がある。詳細については、「DirectSound でのウェーブの再生」を参照すること。