Метод IXAudio2SourceVoice::Stop (xaudio2.h)
Прекращает потребление звука текущим голосом.
Синтаксис
HRESULT Stop(
[in] UINT32 Flags,
[in] UINT32 OperationSet
);
Параметры
[in] Flags
Флаги, управляющие остановкой голоса. Может иметь значение 0 или следующее:
Значение | Описание |
---|---|
XAUDIO2_PLAY_TAILS | Продолжайте выводить эффект после остановки голоса. |
[in] OperationSet
Определяет этот вызов как часть отложенного пакета. Дополнительные сведения см. в обзоре наборов операций XAudio2 .
Возвращаемое значение
Возвращает S_OK в случае успешного выполнения, в противном случае — код ошибки. Описание кодов ошибок XAudio2 см. в разделе Коды ошибок XAudio2 .
Комментарии
Все исходные буферы, помещенные в очередь в голосе, и текущее положение курсора сохраняются. Это позволяет голосу продолжать работу с того места, где он был выключен, при перезапуске. Метод IXAudio2SourceVoice::FlushSourceBuffers можно использовать для очистки буферов источника в очереди.
По умолчанию все ожидающие выходные данные голосовых эффектов, например реверберации, не воспроизводится. Вместо этого голос сразу же становится беззвучным. Флаг XAUDIO2_PLAY_TAILS можно использовать для продолжения вывода эффекта после остановки голоса.
Голос, остановленный флагом XAUDIO2_PLAY_TAILS, перестает потреблять исходные буферы, но продолжает обрабатывать свои эффекты и отправлять звук в целевые голоса. Позже голос в этом состоянии можно полностью остановить, вызвав stop еще раз с аргументом Flags равным 0. Это позволяет остановить голос с помощью XAUDIO2_PLAY_TAILS, дождаться достаточного времени для завершения любого звука, создаваемого его эффектами, а затем полностью остановить голос, вызывая stop again без XAUDIO2_PLAY_TAILS. Этот метод позволяет корректно останавливать голоса с эффектами, гарантируя, что бездействующие голоса не будут продолжать обрабатываться после завершения производства звука.
Остановка всегда является асинхронной, даже если она вызывается в рамках обратного вызова.
Требования к платформе
Windows 10 (XAudio2.9); Windows 8, Windows Phone 8 (XAudio 2.8); Пакет SDK для DirectX (XAudio 2.7)Требования
Целевая платформа | Windows |
Header | xaudio2.h |