Поделиться через


Руководство: группировка звуковых методов как набора операций

В этом разделе показано, как сгруппировать методы XAudio2, чтобы они вступают в силу одновременно.

Группирование звуковых методов в виде набора операций

  1. Объявите счетчик набора глобальных операций.

    Счетчик набора операций гарантирует, что каждый набор операций уникален.

    UINT32 OperationSetCounter = 0;
    
  2. Увеличьте глобальный счетчик.

    Каждый раз при отправке нового набора операций глобальный счетчик должен увеличиваться, чтобы убедиться, что каждый набор уникален.

    UINT32 OperationID = UINT32(InterlockedIncrement(LPLONG(&OperationSetCounter)));
    
  3. Группирование вызовов методов путем установки параметров набора операций .

  4. Задайте для параметров набора операций текущее значение глобального счетчика.

    В этом случае четыре вызова IXAudio2SourceVoice::Start группируются как один набор операций. Группирование вызовов приводит к тому, что все четыре звука начинаются точно в одно и то же время.

    hr = pSFXSourceVoice1->Start( 0, OperationID );
    hr = pSFXSourceVoice2->Start( 0, OperationID );
    hr = pSFXSourceVoice3->Start( 0, OperationID );
    hr = pSFXSourceVoice4->Start( 0, OperationID );
    
  5. Запустите набор операций.

    После вызова всех методов в наборе запустите набор, вызвав IXAudio2::CommitChanges с текущим значением глобального счетчика.

    pXAudio2->CommitChanges(OperationID);
    

Наборы операций

Руководство по программированию для XAudio2

Наборы операций XAudio2