3

是否可以在用户连接或断开音频设备时自动获得通知?

4

2 回答 2

3

在 Vista+ 中,您可以使用 Core Audio IMMNotificationClient 接口来获得通知。

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

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

于 2012-10-15T19:04:20.943 回答
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

在第二步替换行 IMMNotificationClient *pNotify = NULL;

与 IMMNotificationClient *pNotify = new CMMNotificationClient;

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

请确保在最后删除 CMMNotificationClient :)

于 2013-09-23T07:38:37.763 回答