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

另请参阅

IXAudio2EngineCallback

XAudio2 回调