Share via


Metodo IXAudio2Voice::D estroyVoice (xaudio2.h)

Distrugge la voce. Se necessario, arresta la voce e la rimuove dal grafico XAudio2.

Sintassi

\\ void DestroyVoice();

Valore restituito

Questo metodo non restituisce valori.

Commenti

Se qualsiasi altra voce sta inviando audio a questa voce, il metodo ha esito negativo.

DestroyVoice attende che il thread di elaborazione audio sia inattivo, quindi può richiedere un po ' di tempo (in genere non più di un paio di millisecondi). Ciò è necessario per garantire che la voce non effettuerà più callback o leggerà dati audio, in modo che l'applicazione possa liberare in modo sicuro queste risorse non appena viene restituita la chiamata.

Per evitare interruzioni del thread titolo da una chiamata DestroyVoice bloccante, l'applicazione può eliminare definitivamente le voci in un thread separato non critico oppure l'applicazione può usare strategie di pooling vocale per riutilizzare le voci anziché eliminarle. Si noti che le voci possono essere riutilizzate solo con audio con lo stesso formato dati e lo stesso numero di canali con cui è stata creata la voce. Una voce può riprodurre dati audio con frequenze di campionamento diverse rispetto a quella della voce chiamando IXAudio2SourceVoice::SetFrequencyRatio con un parametro di rapporto appropriato.

Non è possibile chiamare DestroyVoice dall'interno di un callback, ovvero IXAudio2EngineCallback o IXAudio2VoiceCallback.

Requisiti della piattaforma

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

Requisiti

Requisito Valore
Piattaforma di destinazione Windows
Intestazione xaudio2.h

Vedi anche

IXAudio2Voice