Microsoft DirectX 8.0 (C++)

ステップ 1 : オーディオパスの作成

オーディオパスを作成する最も簡単な方法は、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 : バッファの取得」に続く。