次の方法で共有


方法 : 操作セットとしてのグループ オーディオ メソッド

ここでは、XAudio2 メソッドをグループ化し、そのエフェクトすべてをまったく同時に実行できるようにする方法を示します。

オーディオ メソッドを操作セットとしてグループ化するには

  1. グローバル操作セット カウンターを宣言します。

    この操作セット カウンターは、各操作セットが一意であることを確認するのに使用されます。

    UINT32 OperationSetCounter = 0;
    
  2. グローバル カウンターをインクリメントします。

    新しい操作セットが送信されるたびに、グローバル カウンターは、各セットの一意性を維持するためにインクリメントされる必要があります。

    UINT32 OperationID = UINT32(InterlockedIncrement(LPLONG(&OperationSetCounter)));
    
  3. グループ メソッドを呼び出すには、その OperationSet パラメーターを設定します。

    操作セット パラメーターは、グローバル カウンターの現在値に設定されている必要があります。この場合、IXAudio2SourceVoice::Start への 4 回の呼び出しが 1 つの操作セットとしてグループ化されます。呼び出しのグループ化により、4 つのサウンドすべてがまったく同時に開始されます。

    hr = pSFXSourceVoice1->Start( 0, OperationID );
    hr = pSFXSourceVoice2->Start( 0, OperationID );
    hr = pSFXSourceVoice3->Start( 0, OperationID );
    hr = pSFXSourceVoice4->Start( 0, OperationID );
    
  4. 操作セットを開始します。

    セット内のすべてのメソッドが呼び出された後、グローバル カウンターの現在値で IXAudio2::CommitChanges を呼び出してセットを開始します。

    pXAudio2->CommitChanges(OperationID);
    

関連トピック