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


Метод IXAudio2Voice::D evoice (xaudio2.h)

Уничтожает голос. При необходимости останавливает голос и удаляет его из графа XAudio2.

Синтаксис

\\ void DestroyVoice();

Возвращаемое значение

Этот метод не возвращает значение.

Комментарии

Если какой-либо другой голос в данный момент отправляет звук в этот голос, метод завершается ошибкой.

DestroyVoice ожидает простоя потока обработки звука, поэтому это может занять некоторое время (обычно не более пары миллисекундах). Это необходимо, чтобы гарантировать, что голос больше не будет выполнять обратные вызовы и считывать звуковые данные, поэтому приложение сможет безопасно освободить эти ресурсы, как только вызов вернется.

Чтобы избежать прерываний потока заголовка при блокирующем вызове DestroyVoice , приложение может уничтожать голоса в отдельном некритичном потоке или использовать стратегии объединения голосов, чтобы повторно использовать голоса, а не уничтожать их. Обратите внимание, что голоса можно повторно использовать только со звуком с тем же форматом данных и тем же количеством каналов, с помощью которых был создан голос. Голос может воспроизводить звуковые данные с частотой выборки, отличной от частоты голоса, вызывая IXAudio2SourceVoice::SetFrequencyRatio с соответствующим параметром соотношения.

Недопустимо вызывать DestroyVoice из обратного вызова (то есть IXAudio2EngineCallback или IXAudio2VoiceCallback).

Требования к платформе

Windows 10 (XAudio2.9); Windows 8, Windows Phone 8 (XAudio 2.8); Пакет SDK для DirectX (XAudio 2.7)

Требования

Требование Значение
Целевая платформа Windows
Header xaudio2.h

См. также раздел

IXAudio2Voice