检测耳机插入的时间

HS.*_*HS. 13 hardware audio

是否有任何方法可以通过编程方式确定何时将耳机插入计算机?

基本上,我只想写一个简单的工具,除非插入耳机,否则我的声音会静音.这甚至可能吗?

Rei*_*man 12

在Windows Vista及更高版本中,您可以使用设备到达和删除通知并检索端点形式因素,以确定您的音频解决方案的制造商是否将特定端点视为"耳机".

在Vista之前,没有办法确定这些信息.


ASh*_*lly 8

许多音频编解码器提供"插孔检测",这可能是你需要谷歌的术语.

看来在Vista下,你可以使用IMMDeviceEnumerator :: GetDefaultAudioEndpoint()和IMMDevice :: GetState()来检查'端点'的状态.还有'IKsJackDescription接口'.

在XP下,您可以尝试'waveInGetNumDevs' - 驱动程序可能会报告0,直到插入耳机.有关详细信息,请参阅本讨论中的注释.