我目前正在尝试从 Ubuntu 22.04.2 LTS 迁移到 Debian 12,这里的一切都更加稳定和可靠。但有一个问题:我的 Airpods Pro(第 2 代)无法正常工作。让我详细说明一下。
使用库存设置,它们根本无法连接,因此我将此行添加到蓝牙配置文件 ( /etc/bluetooth/main.conf
) 的正确位置:
ControllerMode = bredr
我从 AskUbuntu 帖子中获得了以下信息:https://askubuntu.com/a/1429341
这解决了无法连接 Airpods 的问题,并使其可以在 Ubuntu 上使用 A2DP。但在 Debian 上,只有免提音频可以工作(这听起来很糟糕)。我尝试在实时安装中遵循此 arch wiki 页面的一些建议,因为我不想破坏我的系统,而且它并没有真正帮助:
https://wiki.archlinux.org/title/bluetooth_headset
我尝试连接另一副蓝牙耳机 Sennheiser 450BT,它们工作完美。我也尝试过切换btmgmt ssp on
,btmgmt ssp off
第二个破坏了所有内容,我不得不重新启动实时会话。
我不知道 Ubuntu 22.04.2 LTS 上有什么不同,也不知道为什么我的 Airpods Pro 2 可以在那里工作,但在这里不行。
怀疑:Airpods 发送某种非标准/专有信号,如果它们得到的响应是它们没有连接到 iThing,它们就会开始进行模拟。
我想补充一点,Ubuntu 上的体验也不是完美的,它们会断开连接/音频会时不时地出现静态噪音/损坏。我猜大约每 3-4 小时使用一次,但有时会连续使用 4-5 次。然后你必须重新启动蓝牙并再次连接它们。这有点烦人,但可以接受。
那么有人可以帮我解决这个问题吗?我将不胜感激!
我使用的是联想 ThinkPad Yoga 12。
答案1
遇到了同样的问题。
多亏了这个才能够解决它红迪论坛。该问题与 AAC 编解码器有关,默认情况下,PipeWire 中不包含该编解码器,因为许可问题这阻止了所有者实际编译实现,即使它仍然在官方存储库中。
您可以 (1) 安装此包裹,这是 PipeWire 依赖项的重新编译,包含 AAC(和 aptX)编解码器(更多信息这里),但这可能涉及篡改现有操作系统安装。
或者,您可以 (2) 安装libfdk-aac-dev
库并下载预编译的二进制依赖的上述包,提取它及其所有子压缩,并放置/.../libspa-0.2-bluetooth_0.3.65-4~glasgall1_amd64/usr/lib/x86_64-linux-gnu/spa-0.2/bluez5/libspa-codec-bluez5-aac.so
在/usr/lib/x86_64-linux-gnu/spa-0.2/bluez5/
.然后,重新启动计算机即可。
PS:或者,如果您愿意接受挑战,您也可以 (3) 使用 AAC 编解码器从头开始重建 libspa,但我不建议这样做。 :)
答案2
在markkoszy的回答的帮助下,我编写了一个脚本来构建一个包,其唯一功能是将 libspa-codec-bluez5-aac.so 文件放在正确的位置。此外,该包需要 libfdk-aac-dev 作为依赖项。因此,您所需要做的就是安装此软件包即可正确解决问题(无需手动将文件复制到系统树中)。
https://gist.github.com/jpasquier/65e95707089f79d9406fa8e7f9e96eb0
以当前用户身份运行脚本将在当前目录中创建包