使用方法:將音訊方法群組為操作集
本主題說明如何將 XAudio2 方法分組在一起,使其同時生效。
將音訊方法分組為作業集
宣告全域作業集計數器。
作業集計數器可確保每個作業集都是唯一的。
UINT32 OperationSetCounter = 0;
遞增全域計數器。
每次提交新的 作業集時,全域計數器都應該遞增,以確保每個集合是唯一的。
UINT32 OperationID = UINT32(InterlockedIncrement(LPLONG(&OperationSetCounter)));
藉由設定其 作業集 參數,將方法呼叫分組。
將 作業集參數設定 為全域計數器的目前值。
在此情況下, IXAudio2SourceVoice::Start 的四個呼叫會分組為一個 作業集。 將呼叫分組會導致所有四個音效完全同時開始。
hr = pSFXSourceVoice1->Start( 0, OperationID ); hr = pSFXSourceVoice2->Start( 0, OperationID ); hr = pSFXSourceVoice3->Start( 0, OperationID ); hr = pSFXSourceVoice4->Start( 0, OperationID );
啟動 作業集。
呼叫集合中的所有方法之後,請使用全域計數器的目前值呼叫 IXAudio2::CommitChanges 來啟動集合。
pXAudio2->CommitChanges(OperationID);
相關主題