0

如何使用 C# 检测音频设备何时插入和拔出?

4

1 回答 1

1

您最好的方法可能是 WMI。您可以订阅反映大多数 WMI 类实例的创建/销毁的 WMI 事件。Win32_SoundDevice每个音频设备都有一个 的实例。

如果您想要特定设备状态的详细信息(在扬声器上、静音等),那么 WMI 似乎不包括这一点。

您可能需要使用 COM 互操作来访问MMDevice API,其中包括枚举“端点”设备的能力。这将是一项艰巨的工作,因为似乎没有可以导入的类型库,而是需要编写一些 C/C++ 来提供代理或在 .NET 中手动重新创建必要的 COM 接口等。

于 2012-07-21T11:27:29.490 回答