我有索尼WH-1000XM2蓝牙 4.1 耳机(带个人资料 自动化测试平台,心肺复苏计划,氢氟酸, 和热休克蛋白) 适用于 Ubuntu18.10。
但是,它们总是以耳机模式连接到 PC,单声道音频质量很差。为了获得正确的高清立体声,我必须:
- 打开耳机,等待配对(自动连接到耳机模式)
- 使用以下方式断开耳机Blueman 经理
- 重新连接指定高保真播放音频配置文件的耳机。
当我尝试在连接时更改配置文件时,我得到了Failed to change profile to a2dp_sink
。有趣的是,它可以从 更改a2dp
为hsp/hsf
就好了……
有没有办法配置这个蓝牙设备自动连接到高保真播放?
在网上多次搜索解决方案均未发现任何有用的信息。
答案1
我也遇到了同样的问题。我的索尼WH-1000XM2仅在最初与Ubuntu 18.04。重启或关闭/打开耳机后,它们会自动连接,但声音很糟糕。我不得不移除蓝牙设备并重新配对。我尝试了互联网上的所有解决方案,这些解决方案声称配置如下:
/etc/bluetooth/main.conf
或者
/etc/bluetooth/audio.conf
应该可以解决问题。但实际上不行。耳机继续与“HSP/HFP”个人资料和‘A2DP 接收器’直到手机修好后才能设置。
更方便的方法是使用命令行,而不是物理地按下按钮并通过 UI 重新连接。所以这个答案帮助我实现了这一点。但是,这对我来说看起来像是很多命令,所以我将它们编写成脚本这个要点。它应该可以开箱即用。
每当手机自动重新连接(初始配对后)并开始使用“HSP/HFP”只需执行此脚本,配置文件就会设置为‘A2DP 接收器’。您可能需要根据耳机调整睡眠间隔。
我希望这个问题能在 PulseAudio 和 Ubuntu 的即将发布版本中得到修复。
答案2
我在 Ubuntu 20.04 上也遇到了类似的问题
我能够选择A2DP
我的耳机(Bose QC 700)的配置文件。我能够选择 A2DP,但每次耳机断开连接时,它都会默认到个人HSP/HFP
资料。
按照提到的解决方案这里和这里,A2DP
现在每次连接时都会自动选择:
- 添加
/etc/pulse/default.pa
以自动将 pulseaudio 接收器切换到 Bluez:
.ifexists module-bluetooth-discover.so
load-module module-bluetooth-discover
load-module module-switch-on-connect # Add this
.endif
- 编辑
/etc/bluetooth/main.conf
以自动选择 A2DP 配置文件(而不是 HSP/HFP):
[General]
Disable=Headset # Add this
- 应用更改(您可能还需要关闭蓝牙耳机,然后重新打开):
pulseaudio -k # Kills pulseaudio
pulseaudio --start # Starts pulseaudio
sudo systemctl restart bluetooth
答案3
我遇到了非常类似的问题。正如 egelev 所说,许多解决方案实际上并没有解决任何问题...
但是,为了便于将来参考,我找到了一个涉及更改 /etc/pulse/default.pa 的解决方案,该解决方案对我来说非常有效,可以找到完整的解决方案这里简而言之,执行以下操作会自动将配置文件更改为 A2DP,并在连接带麦克风的蓝牙耳机时禁用耳机功能:
# In /etc/pulse/default.pa do the following:
.ifexists module-bluetooth-discover.so
load-module module-bluetooth-discover
load-module module-switch-on-connect # Add this line
.endif
# Create or change /etc/bluetooth/audio.conf with the following lines:
[General]
Disable=Headset
# Restart pulseaudio
pulseaudio -k
答案4
我遇到了类似的问题,我忘记了我安装了pipewire
与该pulseaudio-module-bluetooth
包冲突的亚德客(高级音频分发配置文件)。因此,检查是否pipewire
正在运行
ps -e | grep pipewire
如果它正在运行,请卸载 pipewire 并保留 pulseaudio-module-blueoth 模块,或者您可以给 pipewire 一个机会,因为它具有高级选项和性能。
保持管道
首先在命令行中使用以下命令卸载以下模块
sudo apt remove pulseaudio-module-bluetooth
并使用以下方式安装所有 pipewire 包
sudo apt-get install pipewire-*
在配置文件末尾额外添加以下代码
/etc/pulse/default.pa
:### Added to make headset work for pipewire ### https://wiki.debian.org/BluetoothUser/a2dp load-module module-bluez5-device load-module module-bluez5-discover
在我的等离子桌面上,所有编解码器现在都可用:
保留默认的 pulseaudio-module
如果您使用 ubuntu 的默认 pulseaudio 设置,请简单卸载或禁用,
pipwire
例如:sudo apt-get remove pipewire*
有关 a2dp 问题的更多信息,请访问蓝牙用户/a2dp - Debian Wiki。
顺便提一句:我的蓝牙硬件是在Intel Corporation Wi-Fi 6 AX201
芯片中实现的,因此需要从 Linux 内核主页下载(截至 2022 年 3 月)最新的固件驱动程序。我使用的固件是:
> ls -1 /lib/firmware/iwlwifi-QuZ-a0-hr-b0-*
/lib/firmware/iwlwifi-QuZ-a0-hr-b0-48.ucode
/lib/firmware/iwlwifi-QuZ-a0-hr-b0-50.ucode
/lib/firmware/iwlwifi-QuZ-a0-hr-b0-53.ucode
/lib/firmware/iwlwifi-QuZ-a0-hr-b0-55.ucode
/lib/firmware/iwlwifi-QuZ-a0-hr-b0-59.ucode
/lib/firmware/iwlwifi-QuZ-a0-hr-b0-62.ucode
/lib/firmware/iwlwifi-QuZ-a0-hr-b0-63.ucode
/lib/firmware/iwlwifi-QuZ-a0-hr-b0-65.ucode
/lib/firmware/iwlwifi-QuZ-a0-hr-b0-66.ucode
/lib/firmware/iwlwifi-QuZ-a0-hr-b0-67.ucode
/lib/firmware/iwlwifi-QuZ-a0-hr-b0-68.ucode
/lib/firmware/iwlwifi-QuZ-a0-hr-b0-71.ucode