在Ubuntu上使用的蓝牙耳机音质较差。

我买了一副飞利浦SHB4000无线蓝牙耳机(带电话和麦克风),在我将它与手机或Windows电脑配对时,音质非常好。但是当我将它与同一台Ubuntu(14.10 64位)电脑配对时,音质就下降了。
我已经搜索过了,但没有找到令人信服的答案。
提前感谢!

20听起来你正在使用HSP/HFP而不是A2DP,请进入声音设置,然后查看SHB4000正在使用什么。 - Jeremy31
2我在切换到A2DP时听到了很大的声音...吓了一跳!:P 谢谢!现在它的音质很好! - Cleber Marques
同样的问题出现在 Philips SHB7150 上。 - Laurent06000
1对于那些遇到了和我一样的问题(高保真播放无法工作,会切断所有音频和使用该音频的应用程序),这个脚本解决了该问题: https://askubuntu.com/a/864841/119445 - Peeperkorn
关于A2DP的这个帖子请查看此链接,目前尚未找到解决方法,很遗憾。 - TamaMcGlinn
@Jeremy31 你的解决方案对我来说也非常完美,在 Fedora 上,使用索尼 WH-1000XM4 耳机。谢谢! - Javier Mendonça
13个回答

进入声音设置,然后查看SHB4000正在使用的选项。如果它正在使用HSP/HFP,请切换到A2DP。

screenshot


4我的MPow也可以用了! - Fran Marzoa
3谢谢。只是注意到这对我的Sony MDR-ZX770BN也适用。 - Nicholas
4似乎我说得太早了。当我将设置从HSP/HFP更改为A2DP Sink时,声音中断了,并且任何使用声音的应用程序都停止工作。 - Peeperkorn
4这在Fedora 25上对我有效。它暂时将声音重新路由到我的台式电脑扬声器上,但是我只需多次切换输出设备几次,它就开始完美地工作了。 - Craig Otis
3但对于我的Sony MDR-ZX770BN,我无法切换到A2DP:配置未保存。Gubuntu 17.04 - demon101
3当我在音频设置中启用A2DP并点击应用,然后关闭并重新打开设置时,它又回到了HSP/HFP,并且声音质量在任何时候都没有改变。 - ChameleonScales
这对我的JBL Charge设备在Xubuntu 17.04上完美运行。只需确保在执行此操作之前将音量调低,因为它可能导致扬声器以最大音量播放。 - ExplodingKittens
2这导致所有音频都被切断,我的蓝牙耳机也从音频设备列表中消失了。经过快速的pulseaudio重启(pulseaudio -k),它又回来了,声音听起来非常棒 - Hubro
解决了Audio-Technica ATH-SR5BT的质量问题。拯救了我的生活(以及我电脑上的Ubuntu)。 - Radek Skokan
非常感谢!让我快速解决与我的耳机有关的问题,让我开心! - gayavat
1不适用于Ubuntu 17.10与Sony WH1000MX2。 - Nicky De Maeyer
我是Sony MDR的用户,如果我通过设备启用声音输入,它会强制使用HSP模式(声音质量很差),这是设备的限制吗?我记得在MacBook Pro上没有这个问题。 - vach
我是Sony的用户。为了解决无法更改个人资料的问题,请先按照其他答案中提到的进行配置更改,然后移除并重新添加设备,最后尝试再次更改。 - Vegard
只是一条注释:这个解决方案在Ubuntu 18.10和Boat Rockerz 255蓝牙耳机上效果非常好。使用HSP/HFP时声音很糟糕,但使用A2DP就像高清音质一样。谢谢! - Suvarna Pattayil
@Peeperkorn 对我来说声音也中断了。我在Kubuntu 18.04上设置了另外两个选项,它们分别是“为所有本地声音卡添加虚拟输出设备以实现同时输出”和“当有新的输出设备可用时自动切换所有正在运行的流”。我正在一个流媒体网站上播放一个视频,快进了一点,声音就恢复了。 - mneumann
我不知道为什么,但是某些东西(可能是一个更新)把我的设置改成了“HSP/HFP”,将其恢复为“A2DP”解决了这个问题。 - Jaec
1曾在Sennheiser PXC-550上工作过。 - Cristian Todea
Canonical要解决一个存在了几十年的问题有多难?这个问题在其他操作系统上都能正常运行,而且是有保证的。 - DimiDak
在Sony WH-H910N上也进行了工作。 - Ville Laitila
还有怪物图标BT one,好用!!谢谢! - Alon Samuel
在Ubuntu 20.04上仍然完全相同。 - Felix Dombek
这使得耳机成为了一个只能用作耳机的设备,而其麦克风则无法使用。 - Henning
为我的索尼WH-1000XM4耳机工作过。 - Chamath Sandaru

这是在Debian 9上对我有效的解决方案(无法应用菜单)。
重要提示:每次重新连接之前,您都需要重新启动蓝牙!
来源:https://unix.stackexchange.com/a/415928/325467
我在Debian 9中使用SoundBuds Curve耳机,遇到了同样的问题,无法从HSP/HFP配置切换到A2DP配置。
解决这个问题的方法是编辑/etc/bluetooth/main.conf文件。
sudo nano /etc/bluetooth/main.conf

首先,在[General]标签下添加以下行(从audio.conf中复制,我在寻找解决方案时找到的):
# Automatically connect both A2DP and HFP/HSP profiles for incoming
# connections. Some headsets that support both profiles will only connect the
# other one automatically so the default setting of true is usually a good
# idea.
AutoConnect=true

接下来,您必须启用多个配置文件的支持(在下面几行),只需取消注释并将值设置为multiple
MultiProfile = multiple

然后重新启动蓝牙服务
sudo systemctl restart bluetooth 

重要提示:每次重新连接之前,您需要重新启动蓝牙!

14质量现在好多了,但是麦克风没了 :D - MonkeyMonkey
1@MonkeyMonkey 你需要切换回HSP/HFP配置文件。 - Player1
1这个答案一点用都没有。耳机现在工作得更差了。:( 之前:只有低质量可用。之后:只有低质量,还会出现断连问题,虽然耳机“连接”了,但声音设置中却找不到蓝牙设备。 - Giszmo
这个在Ubuntu 20.20或者其他最新的2020版本上也起作用,哈哈。对于为什么会起作用有点困惑,但无论如何,感谢音乐不再听起来像Windows 3.11 uLaw(我老了..):) - John Hunt
1重要提示:每次重新连接之前,您需要重新启动蓝牙!这是在使用我的森海塞尔耳机时的情况。声音质量很差(就像从洞穴里听一样)。然后我重新启动服务,质量好多了。 - george_h
2现在这个还能用,但是当我切换到耳机的麦克风时,又开始出现糟糕的音质。 - Mauricio Reyes
@MauricioReyes 是的,那就是问题... - Computer's Guy

对于那些在Ubuntu 16.04上遇到这个问题的人,只有一次切换到A2DP才能解决问题。我不得不断开连接,忘记设备,重新连接,切换到A2DP模式,才能让它再次正常工作。
(本来想把这个作为评论发布,但新手的身份不允许)

根据56ka的建议,我添加了以下蓝牙配置。但是这个方法并没有起作用,直到我重新进入音频设置,选择将主音箱设为默认,然后再将我的当前设备Boombar设为默认 - 这个过程有点不稳定,并且需要按照一定的顺序进行操作。 - Vindicated Halcyon

仅适用于Ubuntu 20.04(在21.04中似乎已修复)

对于使用Ubuntu的人来说,如果他们使用耳机的麦克风,并且抱怨声音和语音质量不好:

有一个新的更新在2021年5月:

通过this提交,可以启用HFP,从而通过蓝牙支持宽带音频语音。我能够大大改善我的麦克风质量,我的同事现在实际上能听懂我了,我不再像是用旧手机讲话。

在Ubuntu 20.04上测试通过,使用索尼1000-mx3。

要使此功能正常工作,您需要从git存储库中克隆最新的pulseaudio主分支:

git clone https://gitlab.freedesktop.org/pulseaudio/pulseaudio.git

通过编译和安装

meson build
sudo ninja -C build install
sudo ldconfig

从pulseaudio的docs中提取
编译可能需要安装源依赖项。为此,请使用software-properties-gtk打开软件设置,并启用。然后使用sudo apt-get build-dep pulseaudio安装构建依赖项。
重新启动。然后,当您打开声音设置时,您可以选择HFP配置文件,这将为VOIP提供更好的音质。为了获得最佳音乐质量,最好切换回A2DP,但是它不支持麦克风使用。

谢谢,这似乎是从Ubuntu Impish版本开始的分发的一部分。https://packages.ubuntu.com/impish/pulseaudio - cheffo
1Canonical 要修复一个存在几十年的问题有多困难呢? 在其他每个操作系统上都能正常工作的事情却不能保证?... - DimiDak
谢谢这个。它真正改变了我的生活。我正准备在焦点上用pipewire替换pulseaudio,但是这个方法效果非常好。 - jhnwsk
要修复meson build过程中的错误,形式为ERROR: Dependency "X",您需要执行sudo apt install libX-dev命令。在我的情况下,缺少的依赖项是libtdb-dev和libsndfile-dev。对于libcheck而言,该软件包不存在,因此需要从源代码进行构建 - TamaMcGlinn
1尝试了一下发现不起作用后,我意识到@cheffo的评论是指Ubuntu 21已经修复了这个问题;只有在你仍然使用Ubuntu 20或更低版本时才尝试这个答案! - TamaMcGlinn
谢谢你的提示,我会相应地更新答案。 - MichaelJanz

我找到的解决方案是 这里 基本上它说要做:
$sudo apt install pulseaudio pulseaudio-utils pavucontrol pulseaudio-module-bluetooth

然后添加:
[General]
Enable=Source,Sink,Media,Socket

将内容添加到/etc/bluetooth/audio.conf并运行。
sudo service bluetooth restart

然后重新连接你的耳机,应该就能正常工作了。对我来说是这样的!

我遇到了同样的问题,使用的是Ubuntu 22.04.1 LTS版本。
每当我连接我的无线耳机时,声音就会出现杂音和失真。
所以我安装了PulseAudio。
运行以下命令进行安装: sudo apt install pavucontrol
然后打开PulseAudio控制面板,更改已连接设备的编解码器。

enter image description here

看起来这样就解决了!

1这对我来说真的很有效,非常感谢! - Rene
同样地,SBC使音频无瑕疵。Debian 12。 - enko
1你是我今天的英雄!对我的Linkbuds S和Ubuntu 22.04.2 LTS都有效。将编解码器更改为552 kbps,音频中微弱的静电声消失了。 - Divisible by Zero

我必须同时设置main.conf为多个配置文件,然后移除耳机并重新添加它们,然后它们默认为高保真音质。

也许有人会觉得这很有用:不要在某个应用程序播放声音时尝试切换到A2DP。您需要先禁用所有声音输出,然后断开连接,重新连接,切换到A2DP,然后选择A2DP设备作为目标。

所以,我最近购买了JBL 700BT耳机。在连接到Ubuntu 20.04后,我发现声音变得模糊。以下是我解决问题的方法:
1> 运行命令sudo apt install pulseaudio pulseaudio-utils pavucontrol pulseaudio-module-bluetooth安装所需的软件包。
原来我没有安装全部软件包。
2> 然后编辑/etc/bluetooth/main.conf文件。
将MultiProfile更改为multiple,然后保存。
MultiProfile = multiple 3> 运行命令sudo systemctl restart bluetooth重启蓝牙服务。
这样就解决了我的问题。希望对其他人有所帮助。

我正在使用Ubuntu 16.04,并且在我的JBL E65BTNC耳机上遇到了相同的问题,即切换到A2DP后无法保持。我采用了@56ka的大部分回答,但是我不需要设置中提到的那一部分:
MultiProfile = multiple

事实上,当我这样做的时候,既没有A2DP也没有HSP/HFP可用。设备被列为输出设备,但声音没有传出来(即当我尝试在声音设置中测试设备时,什么都没发生)。当我注释掉MultiProfile选项并重新启动蓝牙服务后,一切正常运作。