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

ken*_*nyB 6 bluetooth headset 22.04

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

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

Fre*_*ddy 3

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

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

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

我还运行 Ubuntu 22.04 并手动安装 Pipewire

安装

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

$ sudo apt install 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
Run Code Online (Sandbox Code Playgroud)

反而。

为您的用户启动 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/

脉冲音频

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

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

$ sudo apt 删除pulsaudio-module-bluetooth

完毕

重新启动并运行以下命令检查其是否有效:

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

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


小智 1

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

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

alias hs='pacmd set-card-profile bluez_card.your_device handsfree_head_unit'
Run Code Online (Sandbox Code Playgroud)

您可以通过以下方式找到您的设备:

pacmd list
Run Code Online (Sandbox Code Playgroud)

名称将是这样的:

name: <bluez_card.AB_CD_EF_12_34_56>
Run Code Online (Sandbox Code Playgroud)

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

hs
Run Code Online (Sandbox Code Playgroud)

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

    alias hp='pacmd set-card-profile bluez_card.your_device a2dp_sink'
Run Code Online (Sandbox Code Playgroud)

我仍在寻找自动解决方案。