连接耳机时,将扬声器静音

问题是,即使我插上了耳机,我仍然可以从笔记本电脑的扬声器听到声音。耳机只是普通的立体声耳机。最有趣的是,一周前一切还正常运行。
我尝试调整了 pulseaudio 和 alsa 混音器的设置 - 但没有任何结果。

你用什么样的机器?是上网本吗?笔记本电脑?台式电脑?请告诉我们型号和规格。 - Drie
另外,如果你的意思是在耳机插入时同时从耳机和扬声器中听到声音,我建议编辑你的帖子澄清这一点。此外,请告诉我们你到目前为止已经尝试了什么(如果有的话)来解决这个问题。还有,这个是你想到的那个问题吗? - Eliah Kagan
请查看本页面右侧的“相关问题”。其中一些答案可能会有所帮助。 - loklaan
1你安装了任何音频或视频编辑工具吗?我遇到过类似的问题。我认为是Audacity(默认情况下更改了一些声音端口设置)。解决方法是运行该程序并更改一些设置。 - Ljiljan Veselinovic
17个回答

按照以下步骤,在插入耳机时自动静音扬声器:
1. 打开终端(Ctrl+Alt+T) 2. 输入: alsamixer,然后按下 Enter/Return 3. 通过按下 F6 选择正确的声音设备 4. 使用 (右箭头键)向右导航,直到突出显示 Auto-Mute 5. 按下 (上箭头键)并选择 Enabled(或 Line Out) 6. 按下 Esc 退出

太棒了,这个完美地运行起来,不需要添加仓库和/或软件包,也不需要编辑配置文件! - stragu
7对于像我一样迷失的人,有一个步骤被遗漏了。在第2步之后,按下F6键选择您的音频设备。然后您将看到第3步中提到的选项。 - Nick Zinger
1人们一直告诉我我的音频驱动程序有问题。你刚刚帮我省了很多烦恼。 - Marcel
经过几个月的努力,你救了我;-) - senseiwu
3我实际上想要同时在扬声器和耳机上播放音频。我“禁用”了它,现在它完美地工作! - e18r
这个八年前的答案解决了我在升级到22.04后出现的问题。当我将笔记本电脑连接到底座并关闭盖子时,声音仍然从笔记本扬声器中传出,而不是只从连接的底座扬声器中传出。这在20.04和18.04中都没有出现过。 - Sean
在我的情况下,Ubuntu 22.04 上 alsamixer(v1.2.6)中的选项被称为“HP/Speaker Auto Detect”,启用它的机制是按下'M'键。上/下箭头不能切换此选项的状态。 - scooter
神奇的答案!那种让你更爱 Linux 的惊人答案之一。非常容易调整源代码,以便不使用它。以前我在脉冲音频控制方面遇到了麻烦。但这个解决方案完美地解决了问题。谢谢! - Игор

原始解决方案

  1. 前往Realtek官方网站,接受免责声明,然后下载适用于Linux/Unix的音频驱动程序。您需要选择适用于Kernel 3或更高版本的第3版。

  2. 安装编译该驱动程序所需的工具。

    sudo apt-get install build-essential gcc make

  3. 解压下载的文件,在终端中进入解压后的文件夹后运行sudo ./install命令来编译驱动程序。

  4. 阅读Readme.txt文件以获取更多信息。

  5. 通过以下命令安装gnome-alsamixer。

    sudo apt-get install gnome-alsamixer
    
  6. 在搜索栏中键入alsamixer打开gnome-alsamixer。

  7. 在新窗口中选择"自动静音模式"。

重新启动并查看是否已修复。 (步骤6和7可能不必要)。重新启动后,自动静音将自动启用。

解决方案2:

我刚刚找到了另一个解决方案:

(对我来说,只使用S/PDIF配置文件,耳机和扬声器都能发出声音,并且无法切换配置文件)

  1. 通过以下命令添加此 PPA:

    sudo apt-add-repository ppa:ubuntu-audio-dev/alsa-daily
    
  2. 更新软件包列表:

    sudo apt-get update
    
  3. 然后安装 "alsa-hda-dkms" 软件包:

    sudo apt-get install alsa-hda-dkms
    
重启,然后看结果!

我之前确实遇到过这个问题,但是现在已经修复了。你可以安装gnome-alsa-mixer来更好地控制你的声音。请注意,在编译后声音将会被静音。 - Anwar
apt-get install alsa-hda-dkms 对我来说很有效,非常感谢。 - Dmytro Sirenko
2嘿!我尝试安装alsa-hda-dkms。前两个步骤成功了,但每当我执行第三步sudo apt-get install alsa-hda-dkms时,它会显示以下错误:E: 无法找到软件包 alsa-hda-dkms。这个软件包是否从存储库中移除了?回复一下! - Saurav Kumar
@SauravKumar 你在使用12.04吗?看起来这个软件包现在已经被移除了。不过,问题也在后续的12.04更新中得到解决。所以,你可能想要更新一下你的Ubuntu系统。 - Anwar
1只需在alsamixer中启用“自动静音”对我来说就可以了。谢谢。(Ubuntu 14.04) - rodrigo-silveira
我遇到了一个问题,当我将音频设置为耳机-内置音频时,声音却输出到S/PDIF。我在18.04版本上使用的时候,出现了"无法找到软件包alsa-hda-dkms"的错误提示。 - TheArchitecta

我在我的惠普笔记本上也遇到了这个问题。我找到了一个帖子,采纳了其中一个建议,建议在文件/etc/modprobe.d/alsa-base.conf的底部添加两行代码。
options snd-hda-intel model=laptop
options snd-hda-intel position_fix=1 enable=yes

保存并重新启动。对我有效!


在XUbuntu 12.04上遇到了这个问题,查看了这个页面,安装了gnome-alsamixer软件包,运行了gnome-alsamixer,勾选了弹出的gnome-alsamixer GUI屏幕中的"Headphone Jack Sense"选项,确认问题已解决。谢谢!

命令sudo apt-get install gnome-alsa-mixer对我在我的Compaq nw8000上起了作用。
我可以启用耳机插孔感应选项,现在当我插入耳机时,它会自动切换音频到耳机。

1该软件包为gnome-alsamixer,适用于14.04版本。 - Attila Fulop

我在13.04版本的Asus X201E上遇到了同样的问题,尝试了使用gnome-alsamixer解决方案,但是失败了,因为gnome-alsamixer崩溃并显示"No idea what to do for mixer element "Auto-Mute Mode"!"。所以我打开了命令行alsamixer,使用箭头键导航到Auto-Mute Mode(终端窗口中只能看到Auto-Mut),将其从Disabled设置为Enabled。现在连接耳机会静音内置扬声器。

能帮到我的方法是运行alsamixer并启用自动静音选项。我在耳机连接时这样做,一切都开始完美地工作了。

这个对我来说完美地起作用了。
  1. 以超级用户身份使用您喜欢的文本编辑器编辑/etc/modprobe.d/alsa-base.conf文件,例如:

    sudo gedit /etc/modprobe.d/alsa-base.conf
    
  2. 在文件末尾粘贴以下内容:

    alias snd-card-0 snd-hda-intel
    options snd-hda-intel model=dell-m4-1 enable_msi=1
    
  3. 保存并重新启动。

如果这个方法不起作用,就在第二行中将关于 model=dell-m4-1 的部分改为 model=hp-m4

18.04

以上这些答案都对我在18.04版本中没有起作用。 我尝试了很多方法,从重新安装脉冲音频到在终端中使用alsamixer等等。但是都没有成功。 一切都是最新的。

我的问题是:

耳机和扬声器同时发出声音(音量较低),而我的功放(s/pdif)发出非常大声的声音(120%音量),当在声音设置中选择“内置音频-耳机”时(图片中的第三个框)。 当选择s/pdif时,扬声器会恢复正常音量。 非常奇怪,因为几个月来一直工作正常,但在一个星期前的更新后突然出现了这个问题。

上面有人提供了一种详细的方法来安装Gnome Alsa Mixer,但我只是执行了以下操作:

sudo apt-get install gnome-alsamixer

我采取了很多措施,所以很难说哪个是完美的事件顺序,但是通过安装Gnome Alsa Mixer

自动静音模式几乎没有效果。我关闭了所有的IEC958设置,虽然不确定它们的作用,但是停止耳机和扬声器以最大音量播放的设置是在Gnome Alsa Mixer中关闭“IEC956 Default-PCM”,如图片中第一个方框所示。
关于Gnome Alsa Mixer的工作方式的额外问题,请等待答案: 我的设置如何影响Gnome Alsa Mixer的工作?

I  then


在从15.04升级到15.10并且现在在16.10(问题开始的地方)之后,唯一有效的解决方法是进行完全重新安装。
dpkg -l | grep 'alsa-'
apt-get install --reinstall  alsa-base alsa-utils

重新安装alsa对我没有起作用。 - a coder