IXAudio2EngineCallback::OnCriticalError 方法 (xaudio2.h)
如果发生需要关闭并重启 XAudio2 的严重系统错误,则调用 。
语法
void OnCriticalError(
HRESULT Error
);
参数
Error
XAudio2 返回的错误代码。
返回值
无
备注
如果在 szDeviceId 参数中向 IXAudio2::CreateMasteringVoice 提供特定设备的 ID 或使用 XAUDIO2_NO_VIRTUAL_AUDIO_CLIENT 标志,则会发生严重错误,如果基础 WASAPI 呈现设备不可用,则会引发 OnCriticalError 。 例如,当拔下耳机或扬声器或移除 USB 音频设备时,可能会发生这种情况。 发生严重错误后,音频处理将停止,并且对 XAudio2 的所有进一步调用都会失败。 在这种情况下,恢复的唯一方法是释放 XAudio2 实例并创建一个新实例。
如果将 NULL 或 szDeviceId 参数指定为 IXAudio2::CreateMasteringVoice,则系统会使用虚拟音频客户端来表示音频终结点。 在这种情况下,如果基础 WASAPI 呈现设备不可用,系统会自动选择新的音频呈现设备进行呈现,音频处理将继续,并且不会引发 OnCriticalError 。
在移动设备系列中,始终使用虚拟音频客户端,并且从不引发 OnCriticalError ,无论向 CreateMasteringVoice 提供的值如何。
有关 IXAudio2EngineCallback 接口方法的信息,请参阅 XAudio2 回调 部分。
平台要求
Windows 10 (XAudio2.9) ;Windows 8、Windows Phone 8 (XAudio 2.8) ;DirectX SDK (XAudio 2.7)要求
目标平台 | Windows |
标头 | xaudio2.h |