如何让蓝牙耳机在 Ubuntu 22.04 上默认使用 HFP 配置文件和 mSBC 编解码器

如何让蓝牙耳机在 Ubuntu 22.04 上默认使用 HFP 配置文件和 mSBC 编解码器

目前,每当我将蓝牙耳机重新连接到 Ubuntu 22.04 时,它都会默认使用 A2DP Sink 配置文件。然后我每次都使用 pavucontrol 手动切换到 HFP。我该如何让它保持下去,这样我就不必不断更改它了?

我已经尝试过以下解决方案更改蓝牙耳机默认音频模式(A2DP Sink 与 HSP/HFP)但似乎都不起作用。

答案1

我遇到了类似的问题。我的耳机仅支持 A2DP 音频,需要切换到 HFP 才能使麦克风正常工作。

我从脉冲音频切换到 pipewire。“Pipewire (WirePlumber >= 0.4.8) [...] 支持自动蓝牙配置文件切换(例如,当应用程序需要麦克风访问时,从 A2DP 切换到 HSP/HFP)。”

对于我的用例来说,这是一个很好的解决方案。我的笔记本电脑在加入 MS Teams 通话时不再使用内置麦克风,而是自动切换到带有 HFP 的耳机。

我也运行着 Ubuntu 22.04,手动安装 Pipewire

安装

安装 LDAC 的编解码器(开箱即用 SBC):

$ sudo apt 安装 libldacbt-{abr,enc}2

安装剩余的 PipeWire 包并将 WirePlumber 安装为会话管理器:

$ sudo apt install \ libspa-0.2-bluetooth \
pipewire-audio-client-libraries \ pipewire-media-session- \
wireplumber

Notice '-' at the end of 'pipewire-media-session'. This is to remove it in the same command, because 'wireplumber' will be used

反而。

为您的用户启动 WirePlumber:

$ systemctl --user --now 启用 wireplumber.service

配置 ALSA

单步。将 PipeWire 示例中的配置文件复制到 ALSA 配置目录中:

$ sudo cp /usr/share/doc/pipewire/examples/alsa.conf.d/99-pipewire-default.conf /etc/alsa/conf.d/

脉冲音频

一切都由 pipewire-pulse 包自动完成,该包应该已按照建议由 wireplumber 包安装。如果没有,请自行安装。蓝牙

只需删除此包,蓝牙将由 PipeWire 处理:

$ sudo apt 删除 pulseaudio-module-bluetooth

完毕

重新启动并通过运行检查它是否有效:

$ LANG=C pactl info | grep '^服务器名称'

这只是一种解决方法,并不能直接回答您的问题。

答案2

有同样的问题。一个简单的命令行解决方法是在连接后手动设置接收器:

在“.profile”或“.bashrc”中设置别名,然后在蓝牙连接后在命令行上使用“hs”

alias hs='pacmd set-card-profile bluez_card.your_device handsfree_head_unit'

您可以使用以下方式查找您的设备:

pacmd list

其名称将会是这样的:

name: <bluez_card.AB_CD_EF_12_34_56>

蓝牙耳机连接后,请执行以下操作:

hs

您还可以轻松添加耳机设置。例如:

    alias hp='pacmd set-card-profile bluez_card.your_device a2dp_sink'

我也在寻找自动化解决方案。

相关内容