Microsoft DirectX 8.0 (C++) |
オーディオパスを作成する最も簡単な方法は、IDirectMusicPerformance8::InitAudio にフラグを渡す方法である。このチュートリアル サンプルでは、DMUS_APATH_DYNAMIC_STEREO フラグを渡し、InitAudio でステレオ サウンドをサポートするデフォルトのオーディオパスをセットアップする。
g_pPerformance->InitAudio( NULL, // IDirectMusic インターフェイスは不要。 NULL, // IDirectSound インターフェイスは不要。 NULL, // ウィンドウのハンドル。 DMUS_APATH_DYNAMIC_STEREO, // デフォルトのオーディオパス タイプ。 64, // パフォーマンス チャンネルの数。 DMUS_AUDIOF_ALL, // シンセサイザの機能。 NULL // オーディオ パラメータにはデフォルトを使用。 );
デフォルトのオーディオパスは、バックグラウンド ミュージックやナレーションなど、空間内に位置する必要がないサウンドに適している。ただし、アプリケーションで 3D サウンド エフェクトを実装する場合は、それぞれのオーディオパス上で各音源が演奏されるため、3D パラメータを個別に設定できる。
次のサンプルでは、そのようなオーディオパスを 1 つ作成している。
IDirectMusicAudioPath8* p3DAudioPath = NULL; g_pPerformance->CreateStandardAudioPath( DMUS_APATH_DYNAMIC_3D, // パスの種類。 64, // パフォーマンス チャンネルの数。 TRUE, // ここでアクティブになる。 &p3DAudioPath // オーディオパスを受け取るポインタ。 );
A segment can now be played on this audiopath as follows:
g_pPerformance->PlaySegmentEx( g_pSegment, // 再生するセグメント。 NULL, // ソングに使用するパラメータ。実装されていない。 NULL, // トランジションに関するパラメータ。 0, // フラグ。 0, // 開始タイム。0 は直ちに開始。 NULL, // セグメント状態を受け取るポインタ。 NULL, // 停止するオブジェクト。 p3DAudioPath // Audiopath. );
次の「ステップ 2 : バッファの取得」に続く。