如何使用C#检测音频设备何时插入和拔出?
答案 0 :(得分:1)
您最好的方法可能是WMI。您可以订阅反映大多数WMI类实例的创建/销毁的WMI事件。每个音频设备都存在Win32_SoundDevice
的实例。
如果您需要特定设备状态的详细信息(在扬声器上,静音,......),那么WMI似乎不包括此内容。
你可能需要使用COM互操作来访问MMDevice API,其中包括枚举“endpoint”设备的功能。这将是一项艰苦的工作,因为似乎没有可以导入的类型库,而是您需要编写一些C / C ++以提供代理或在.NET中手动重新创建必要的COM接口等。