自从我在 Gentoo 系统上安装了 PulseAudio 后,拔下耳机插孔时笔记本电脑的扬声器就没有音频输出。
我认为问题在于 ALSA 和 PulseAudio 如何管理音频控制。插入耳机时一切都很正常,英特尔 HDA PCH 的 alsa 控件配置正确,因此“主”和“耳机”音量条配置正确(我可以通过查看具有 root 权限的 alsamixer 来判断这一点)。当我拔下耳机插孔时,音量设置会自动以看似正确的方式更改。也就是说,“耳机”条静音并设置为 0,而“扬声器”条取消静音并调到最大(而插入耳机插孔时会静音)。“主”始终保持未静音状态并具有所需的音量级别。我实际上可以通过手动取消静音并使用 alsamixer 调高耳机输出来使扬声器输出工作。但每次插入/拔下耳机时我都必须执行此操作。那么有什么方法可以解决这个问题吗?也许以某种方式在 ALSA 系统中将耳机输出与扬声器输出分离?
我的笔记本电脑是 2011 年的 HP Pavilion G6。
谢谢。
答案1
编辑文件 /usr/share/pulseaudio/alsa-mixer/paths/analog-output-speaker.conf 并找到以下部分:
[Element Headphone]
并评论以下行
switch = off
volume = off
最终结果将是
[Element Headphone]
#switch = off
#volume = off
就我的情况而言,问题是由于“耳机”频道被静音而引起的,但出于某种原因,笔记本电脑的扬声器无需静音即可工作。
经过我的改变,拔下耳机时耳机不会静音,也不会将音量设置为零。
要“调试”您的机箱中静音的通道,您可以使用 alsamixer,在 alsamixer 中,您可以按“C”选择您的音频卡(默认设置是设置 pulseaudio 主通道的音量)。插上和拔下耳机,检查有什么变化。