在 OpenAL 中处理设备更改

Handling Device change in OpenAL

我正在尝试使用 OpenTK.OpenAL 编写一个应用程序来包装 openal,我担心我应该如何处理我拔下默认音频输出设备(例如耳机)的假设情况。当我尝试打开我的默认设备时,它在打开后将其标记为 "OpenAL Soft" 而不是实际的设备名称。当我拔下我正在使用的耳机时,它似乎根本没有反应,一旦它们重新插入,它就完全安静了。

我刚刚浏览完一些 OpenTK 的 OpenAL 代码。 OpenTK 似乎尽可能符合 OpenAL,它们只是包装 OpenAL 调用。

对于硬件断开事件之类的事件,您必须从 OS 中监听该事件。我不相信 OpenAL 本身就有这个功能。在 Windows 上,您可能希望查看 WM_DEVICECHANGE 以确定音频设备是连接还是断开,然后像通常在 OpenTK 中那样设置设备。