IXAudio2Voice::D estroyVoice 方法 (xaudio2.h)

销毁语音。 如有必要,停止语音并将其从 XAudio2 图中删除。

语法

\\ void DestroyVoice();

返回值

此方法不返回值。

备注

如果任何其他语音当前正在向此语音发送音频,则 方法将失败。

DestroyVoice 等待音频处理线程处于空闲状态,因此 () 通常不超过几毫秒的时间。 这是保证语音不再进行任何回调或读取任何音频数据所必需的,因此应用程序可以在呼叫返回后立即安全地释放这些资源。

为了避免游戏线程因阻塞 的 DestroyVoice 调用而中断,应用程序可以销毁单独的非关键线程上的语音,或者应用程序可以使用语音池策略重复使用语音,而不是销毁语音。 请注意,语音只能与具有相同数据格式和创建语音时使用的通道数相同的音频重复使用。 通过使用适当的比率参数调用 IXAudio2SourceVoice::SetFrequencyRatio ,语音可以播放与语音不同的采样率的音频数据。

从回调 (IXAudio2EngineCallback 或 IXAudio2VoiceCallback) 调用 DestroyVoice 无效。

平台要求

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

要求

要求
目标平台 Windows
标头 xaudio2.h

另请参阅

IXAudio2Voice