当前位置: 首页>>技术问答>>正文


蓝牙扬声器:首选模式“High fidelity playback”(A2DP)未保存

, , , , ,

问题描述

更新2017年8月:标记为我接受的解决方案已经工作到Ubuntu 15.10。对于16.04+,请选择一种最新的解决方案。

对于16.04+,配置文件是/etc/bluetooth/main.conf NOT /etc/bluetooth/audio.conf。

我有一个蓝牙音箱,索尼SRS-BTX300,它可以在linux /ubuntu 13.04上运行,但只是经过一些小小的调整。 (2013年12月更新:同样的问题仍然存在于13.10)

每次打开电脑并重新连接扬声器后,我必须将首选带宽模式设置为“高保真播放”(A2DP)。

模式每次都重置为”telephony/duplex”(=低带宽)。重置扬声器需要大约20次点击(点击菜单,断开连接,重新连接,选择模式,测试),这些肯定是太多点击。

如何使”A2DP”模式成为默认模式,这是一种持久的方式吗?

一些屏幕截图将说明。

通过单击Unity顶部面板中的蓝牙图标选择此菜单后…

unity,13.04,sound,bluetooth,speakers,ubuntu

设置完毕后……

unity,13.04,sound,bluetooth,speakers,ubuntu

…重新启动/暂停计算机后,首选模式将重置为此模式

unity,13.04,sound,bluetooth,speakers,ubuntu

最佳解决方案

/etc/bluetooth/audio.conf中有一个名为AutoConnect=true的选项,它被删除。

sudo nano /etc/bluetooth/audio.conf

在AutoConnect = true行的开头删除”#”

我发现通过移除#来启用此选项并使我的蓝牙耳机正确连接

重新启动蓝牙服务以使更改生效:

sudo service bluetooth restart

次佳解决方案

将以下行添加到/etc/bluetooth/audio.conf

[General]
Disable=Headset

然后运行此命令:

sudo service bluetooth restart

Thread: (Natty) Connect only A2DP profile for bluetooth headset.

第三种解决方案

对于那些想知道的人,我在Ubuntu 16.04中发现答案略有不同:

sudo gedit /etc/bluetooth/main.conf

并更新以下行

#AutoEnable=false

AutoEnable=true

其次是

sudo service bluetooth restart

对我来说,当连接蓝牙音频设备时,这会将音频配置文件默认为A2DP接收器。

第四种方案

我正在使用Gnome3,过了一段时间我的耳机再也无法连接到A2DP。我不得不通过创建文件/var/lib/gdm3/.config/pulse/client.conf(作为root)并向其添加以下行来停止Gnome创建pulseaudio守护程序:

autospawn = no
daemon-binary = /bin/true

然后将所有者设置为gdm:

sudo chown gdm:gdm /var/lib/gdm3/.config/pulse/client.conf

然后注销/打开或查找使用ps aux | grep pulse作为gdm用户运行的pulseaudio进程

(修剪)输出看起来像:

gdm       2943  10616 ?        S<l  Sep01   0:00 /usr/bin/pulseaudio..

然后使用kill <pid>杀死该过程,对我来说这是2943

运行bluetoothctl并再次连接,然后我可以运行pacmd list-cards并找到我的设备index: 2并使用pacmd set-card-profile 2 a2dp_sink切换到a2dp_sink。

终于再次工作了!

参考资料

本文由Ubuntu问答整理, 博文地址: https://ubuntuqa.com/article/2233.html,未经允许,请勿转载。