【发布时间】:2012-07-21 09:44:24
【问题描述】:
如何使用 C# 检测音频设备何时插入和拔出?
【问题讨论】:
-
您所说的“音频设备”是什么意思,它在哪里插入?例如,chinch 耳机?
-
这里音频设备的意思是“音频插孔”(即耳机和扬声器),我将耳机和扬声器插头插入我的系统输入/输出设备。
标签: c# audio plug-and-play
如何使用 C# 检测音频设备何时插入和拔出?
【问题讨论】:
标签: c# audio plug-and-play
您最好的方法可能是 WMI。您可以订阅反映大多数 WMI 类实例的创建/销毁的 WMI 事件。每个音频设备都有一个Win32_SoundDevice 实例。
如果您想要了解特定设备状态的详细信息(扬声器、静音等),那么 WMI 似乎不包含此内容。
您可能需要使用 COM 互操作来访问 MMDevice API,其中包括枚举“endpoint”设备的能力。这将是一项艰巨的工作,因为似乎没有可以导入的类型库,而是需要编写一些 C/C++ 来提供代理或在 .NET 中手动重新创建必要的 COM 接口等。
【讨论】: