Delphi 是否在音频设备连接/断开时自动收到通知?

Delphi 是否在音频设备连接/断开时自动收到通知?,delphi,audio,notifications,delphi-xe2,device,Delphi,Audio,Notifications,Delphi Xe2,Device,当用户连接或断开音频设备时,是否可以自动获得通知?在Vista+中,您可以使用核心音频获得通知 IMNotificationClient接口在以下情况下提供通知: 当状态为或时,添加或删除音频端点设备 端点设备的属性发生更改,或者 分配给终结点设备的默认角色 处理WM_设备更改和/或轮询是odler OS版本中的解决方案。要接收音频设备插拔的通知,请执行以下步骤: 使用此msdn链接从IMNotificationClient接口派生类: 使用此msdn链接创建设备枚举对象: 在第二步修理线

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

在Vista+中,您可以使用核心音频获得通知

IMNotificationClient接口在以下情况下提供通知: 当状态为或时,添加或删除音频端点设备 端点设备的属性发生更改,或者 分配给终结点设备的默认角色


处理WM_设备更改和/或轮询是odler OS版本中的解决方案。

要接收音频设备插拔的通知,请执行以下步骤:

  • 使用此msdn链接从IMNotificationClient接口派生类:

  • 使用此msdn链接创建设备枚举对象:

  • 在第二步修理线 imNotificationClient*pNotify=NULL

    与 imNotificationClient*pNotify=新的CMMNotificationClient

    通过此实现,您将在CMMNotificationClient的重载函数中收到所有即插即用通知


    请确保在结尾处删除CMMNotificationClient:)

    如果您的意思是取消/插入基于USB的音频设备,则是。使用
    WM_DEVICECHANGE
    窗口消息。可能有一些有用的信息。杰伊:我担心,当使用WM_DEVICECHANGE时,这可能会排除使用其他接口的音频设备。感谢您迄今为止的帮助!有人知道如何在Delphi中实现imNotificationClient接口,以便在音频设备连接或断开连接时收到通知吗?非常感谢。MSDN文章一步一步地解释了这一点,据我所知,到Delphi的转换相当简单。您可以创建枚举器,注册通知并最终接收它们。