我有一个 FSL Zero 蓝牙耳机,在最近更新之前,它一直与 Ubuntu 配合良好。我使用的是 Ubuntu 15.04。耳机被识别为蓝牙设备并连接,但未出现在“声音设置”中。当我执行以下命令时,它会出现在“声音设置”中,但无法切换到 A2DP(即使显示了该选项),因此无法使用:
sudo -i pactl load-module module-bluetooth-discover
我已经用其他设备测试了耳机,以确保耳机没有故障。
我该如何让耳机出现自动地在声音设置中,就像在最近更新之前一样?如何让耳机与 A2DP 一起使用?
答案1
我遇到了同样的问题,几个月来我尝试了所有可能的解决方案但都无济于事,......直到今天!
我在以下帖子#17中找到了解决方案https://bbs.archlinux.org/viewtopic.php?pid=1526534#p1526534(感谢 SimFox3)
我做了什么:
首先复制我编辑的文件
sudo cp /etc/bluetooth/audio.conf /etc/bluetooth/audio.conf_tmp
sudo cp /etc/pulse/default.pa /etc/pulse/default.pa_tmp
sudo cp /usr/bin/start-pulseaudio-x11 /usr/bin/start-pulseaudio-x11_tmp
编辑 /etc/bluetooth/audio.conf
sudo nano /etc/bluetooth/audio.conf
这是我的 audio.conf 中的内容
# Configuration file for the audio service
# This section contains options which are not specific to any
# particular interface
[General]
Enable=Gateway,Source
# Switch to master role for incoming connections (defaults to true)
Master=true
# If we want to disable support for specific services
# Defaults to supporting all implemented services
#Disable=Gateway,Source,Socket
Disable=Socket
# SCO routing. Either PCM or HCI (in which case audio is routed to/from ALSA)
# Defaults to HCI
#SCORouting=HCI
# 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
# Headset interface specific options (i.e. options which affect how the audio
# service interacts with remote headset devices)
[Headset]
# Set to true to support HFP, false means only HSP is supported
# Defaults to true
HFP=true
# Maximum number of connected HSP/HFP devices per adapter. Defaults to 1
MaxConnected=2
# Set to true to enable use of fast connectable mode (faster page scanning)
# for HFP when incoming call starts. Default settings are restored after
# call is answered or rejected. Page scan interval is much shorter and page
# scan type changed to interlaced. Such allows faster connection initiated
# by a headset.
FastConnectable=true
# Just an example of potential config options for the other interfaces
#[A2DP]
#SBCSources=1
#MPEG12Sources=0
编辑 /etc/pulse/default.pa
sudo nano /etc/pulse/default.pa
注释掉(在行首使用 # 号)以下行 #load-module module-bluetooth-discover
现在编辑 /usr/bin/start-pulseaudio-x11
sudo nano /usr/bin/start-pulseaudio-x11
在以下行之后
if [ x”$SESSION_MANAGER” != x ] ; then
/usr/bin/pactl load-module module-x11-xsmp “display=$DISPLAY session_manager=$SESSION_MANAGER” > /dev/null
fi
添加以下内容
/usr/bin/pactl load-module module-bluetooth-discover
重新启动后我终于可以切换到 A2DP
希望它也适合你。
答案2
我的蓝牙耳机也遇到过类似的问题,之前 LDAC 一直在工作,但突然就卡在免提模式了,其他所有协议都被 pavucontrol 标记为“不可用”。
删除/var/lib/bluetooth
文件夹并重新启动蓝牙 systemd 服务对我来说很有效。请记住,这样做还会删除您可能设置的所有其他蓝牙连接和设置。
答案3
在较新版本的 Ubuntu 上,大多数蓝牙音频设备无法自动连接的问题都是由于 bluetoothd 作为 systemd 服务启动,而 pulseaudio 由桌面管理器(通常是 gdm)作为 XDG AutoStart 服务启动所致。这意味着 bluetoothd 在 pulseaudio 运行之前尝试连接到音频设备。这总是会失败。
解决此问题的快速方法如下。
- 编写一行 shell 脚本来重新启动 bluetoothd。我通常将其称为 kick-bluetooth。
#!/usr/bin/env bash
sudo systemctl restart bluetooth
将其粘贴到您的 $PATH 的某个位置。例如,在您的个人 ~/bin 目录中。
在 ~/.local/autostart 中创建一个 kick-bluetooth.desktop 文件
[Desktop Entry]
Version=1.0
Name=Kick bluetooth
Exec=kick-bluetooth
Terminal=false
Type=Application
这将在您登录时重新启动蓝牙守护进程。根据我的经验,只要您已完成通常提到的配置 pulseaudio 以连接到蓝牙设备的操作,这将确保您的耳机/扬声器已连接。
在非 Gnome 桌面上,如果不进行修改,此方法可能无法始终有效。有关此方法的详细信息,请参见此处 [https://www.freedesktop.org/wiki/Software/PulseAudio/Documentation/User/Startup/]。解决此问题的方法可能是将一个与 pulseaudio 桌面文件同名的文件放在 .local/autostart 目录中的 /etc/xdg/autostart 中,此桌面文件的 Hidden= 属性必须设置为 true。然后应将原始文件中 Exec= 属性的内容转换为添加到 kick-bluetooth 脚本前面的 shell 命令。我还没有尝试过!
答案4
抱歉回复晚了,但我希望我的帖子能够对某些人有所帮助。
显然,就我而言,在 ubuntu-mate 14.04 上,问题出在 blueman 的旧版本(GUI 蓝牙管理器)上
我刚刚安装了 blueman 的 ppa,并为我的 ubuntu 版本安装了最新版本。
瞧!