带有 Realtek ALC888 的活动耳机插孔 (Windows XP)

Posted

技术标签:

【中文标题】带有 Realtek ALC888 的活动耳机插孔 (Windows XP)【英文标题】:Event headphone jack ( Windows XP ) with Realtek ALC888 【发布时间】:2012-10-27 05:40:23 【问题描述】:

如何检测 Realtek ALC888 上插入/移除的事件耳机插孔?

有没有 SDK 或库?

全球问题:如何在 Windows XP 下检测到同样的事件? 全球答案:不存在通用解决方案。但是,瑞昱音响知道。如何?

【问题讨论】:

【参考方案1】:

在 Windows XP 上,有一个旧功能

waveInGetNumDevs(void)

除非插入耳机插孔,否则应该返回 0。无论如何,确切的行为取决于实际的硬件驱动程序。另见:http://msdn.microsoft.com/en-us/library/ms713732%28VS.85%29.aspx

有些声卡不起作用,但如果驱动程序附带一个实用程序,该实用程序会在将某些东西插入耳机插孔时启动(例如,有些声卡具有耳机/麦克风的共享插孔,并且如果您插入一个设备,它会询问您刚刚插入的设备类型)——而不是您可以编写自己的“检测应用程序”, 如果有东西插入到你的主应用程序中,它会以某种方式报告(即套接字、管道、共享内存)。通常在驱动程序安装目录中有一个 exe 文件 - 您可以简单地将其替换为“检测应用程序”,如果以这种方式自动插入某些东西,该应用程序就会启动。

恐怕,除了这两种“解决方案”(或第二种更好的解决方法)之外,Windows XP 无法检测设备是否已插入耳机插孔。不过,在 Windows Vista 和更新版本中,这些事件有一个名为 IKsJackDescription 的新界面。

【讨论】:

【参考方案2】:

还可以触发 WM_DEVICECHANG。

【讨论】:

以上是关于带有 Realtek ALC888 的活动耳机插孔 (Windows XP)的主要内容,如果未能解决你的问题,请参考以下文章

台式电脑前置面板的耳机插孔没声音

realtek高清晰音频管理器 中找不到耳机选项,但耳机却可以发声怎么回事?

电脑显示未插入扬声器和耳机?

电脑无法识别耳机怎么解决 电脑无法识别耳机解决方法

耳机插入电脑没反应找不到realtek怎么办

耳机/麦克风插孔的带宽