다음을 통해 공유


IXAudio2Voice::D estroyVoice 메서드(xaudio2.h)

음성을 파괴합니다. 필요한 경우 음성을 중지하고 XAudio2 그래프에서 제거합니다.

구문

\\ void DestroyVoice();

반환 값

이 메서드는 값을 반환하지 않습니다.

설명

다른 음성이 현재 이 음성으로 오디오를 보내는 경우 메서드가 실패합니다.

DestroyVoice 는 오디오 처리 스레드가 유휴 상태가 될 때까지 대기하므로 약간의 시간이 걸릴 수 있습니다(일반적으로 몇 밀리초 이하). 이는 음성이 더 이상 콜백을 수행하거나 오디오 데이터를 읽지 않도록 보장하는 데 필요하므로 애플리케이션은 호출이 반환되는 즉시 이러한 리소스를 안전하게 확보할 수 있습니다.

차단 DestroyVoice 호출에서 타이틀 스레드 중단을 방지하기 위해 애플리케이션은 중요하지 않은 별도의 스레드에서 음성을 삭제하거나 애플리케이션에서 음성 풀링 전략을 사용하여 음성을 삭제하는 대신 다시 사용할 수 있습니다. 음성은 데이터 형식이 동일하고 음성이 생성된 채널 수가 동일한 오디오에서만 다시 사용할 수 있습니다. 음성은 적절한 비율 매개 변수를 사용하여 IXAudio2SourceVoice::SetFrequencyRatio 를 호출하여 음성과 다른 샘플 속도로 오디오 데이터를 재생할 수 있습니다.

콜백 내에서 DestroyVoice 를 호출하는 것은 유효하지 않습니다(즉, IXAudio2EngineCallback 또는 IXAudio2VoiceCallback).

플랫폼 요구 사항

Windows 10(XAudio2.9); Windows 8, Windows Phone 8(XAudio 2.8); DirectX SDK(XAudio 2.7)

요구 사항

요구 사항
대상 플랫폼 Windows
헤더 xaudio2.h

추가 정보

IXAudio2Voice