目前,每当我将蓝牙耳机重新连接到 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- \
wireplumberNotice '-' 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'
我也在寻找自动化解决方案。