Microsoft DirectX 8.0 (C++)

ステップ 3 : ファイルの再生

このステップでは、前のステップでロードしたウェーブ ファイルを IDirectMusicSegment8 インターフェイス経由でパフォーマンスに渡す。

セグメントを再生する前に、バンドをシンセサイザにダウンロードしておく必要がある。バンドをダウンロードしない場合、このステップは、固有のバンドを使用するセグメントごとに 1 回だけ実行する。

次のコードは、サンプル内の WinMain 関数の一部である。このコードは、バンドをパフォーマンスにダウンロードする。バンドはオーディオパスにダウンロードすることもできる。使用するシンセサイザが 1 つだけの場合は、ダウンロード先としてどちらのオブジェクトを選択してもかまわない。

    g_pSegment->Download( g_pPerformance );

ファイルを再生するには、セグメントのインターフェイスを IDirectMusicPerformance8::PlaySegmentEx に渡す。このメソッドには多数の再生オプションが用意されている。ただし、デフォルトのオーディオパスで直ちにセグメントを再生するには、2 番目以降のパラメータをすべて NULL または 0 に設定する。

    g_pPerformance->PlaySegmentEx(
        g_pSegment,  // 再生するセグメント。
        NULL,        // ソングに使用するパラメータ。実装されていない。
        NULL,        // トランジションに関するパラメータ。 
        0,           // フラグ。
        0,           // 開始タイム。0 は直ちに開始。
        NULL,        // セグメント状態を受け取るポインタ。
        NULL,        // 停止するオブジェクト。
        NULL         // デフォルトでない場合はオーディオパス。
    );      
    MessageBox( NULL, "Click OK to Exit.", "Play Audio", MB_OK );

次の「ステップ 4 : 終了処理」に続く。