启用或禁用音频设备时,Windows API 中是否有通知方式?
我有 RegisterDeviceNotification() 和 WM_DEVICECHANGE 的源代码;它跟踪 USB 设备插入/移除良好。但它不会跟踪笔记本电脑的内部音频设备的启用或禁用。
当然我可以制作计时器并使用waveInGetNumDevs/waveOutGetNumDevs。但是找到强制操作系统发送通知的方法更有趣:)
谢谢 :)
waveIn
/waveOut
是您没有通知的旧 API。是的,当然,正如您所提到的,您可以使用计时器进行轮询。在 Vista+ 中,较新的 API 确实通过IMMNotificationClient 接口发出通知,另请参阅此相关答案:Get automatically notify on audio device connection/disconnection?