DQu*_*ade 9 c++ audio windows-xp headphones
如何检测Realtek ALC888上插入/拔出的事件耳机插孔?
有没有SDK或lib?
全局问题:如何在Windows XP下检测同一事件?全球答案:不存在普遍解决方案.但是,Realtek音频知道.怎么样?
在 Windows XP 上有一个遗留功能
waveInGetNumDevs(void)
Run Code Online (Sandbox Code Playgroud)
除非插入耳机插孔,否则应该返回 0。无论如何,确切的行为取决于实际的硬件驱动程序。另请参阅:http://msdn.microsoft.com/en-us/library/ms713732%28VS.85%29.aspx
有一些声卡无法正常工作,但如果驱动程序附带一个实用程序,该实用程序在将某些东西插入耳机插孔时启动(即某些声卡具有耳机/麦克风的共享插孔,如果您插入设备,它会启动)询问您刚刚插入的设备类型) - 您可以编写自己的“检测应用程序”,如果有东西插入到您的主应用程序中,它会以某种方式报告(即套接字、管道、共享内存)。通常,驱动程序安装目录中有一个 exe 文件 - 您可以简单地将其替换为“检测应用程序”,如果以这种方式自动插入某些东西,该应用程序就会启动。
恐怕除了这两个“解决方案”(或者第二个解决方案的更好解决方法)之外,Windows XP 上无法检测设备是否插入了耳机插孔。不过,在 Windows Vista 及更高版本上,这些事件有一个名为IKsJackDescription的新接口。