在音频设备连接/断开时自动获得通知?

时间:2012-10-15 16:11:06

标签: delphi audio notifications delphi-xe2 device

当用户连接或断开音频设备时,是否可以自动收到通知?

2 个答案:

答案 0 :(得分:3)

在Vista +中,您可以使用Core Audio IMMNotificationClient interface进行通知。

  

IMMNotificationClient接口在提供时提供通知   音频端点设备被添加或删除,当状态或   端点设备的属性更改,或者更改时   分配给端点设备的默认角色。

处理WM_DEVICECHANGE和/或轮询是odler OS版本中的解决方案。

答案 1 :(得分:0)

要接收音频设备即插即用的通知,请按以下步骤操作:

  1. 使用此msdn链接从IMMNotificationClient接口派生类: http://msdn.microsoft.com/en-us/library/windows/desktop/dd370810%28v=vs.85%29.aspx

  2. 使用此msdn链接创建设备枚举对象: http://social.msdn.microsoft.com/Forums/windowsdesktop/en-US/610aacff-062e-4453-8437-01f0de038b07/jack-detection-for-headset

  3. 在第二步再生线 IMMNotificationClient * pNotify = NULL;

    与 IMMNotificationClient * pNotify = new CMMNotificationClient;

    通过此实现,您将在CMMNotificationClient的重载函数中收到所有插件,拔出通知。

    请确保在结束时删除CMMNotificationClient:)