Примечание
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
В этом разделе показано, как объединить методы 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);
Связанные разделы
-
XAudio2 Руководство по программированию