Ubuntu20.04TLS 连接JBL蓝牙音响连接上却没有播放声音。

第一步,重启蓝牙服务

sudo systemctl restart bluetooth

第二步,蓝牙重新连接蓝牙音响。如果已经有声音,那说明需要连接蓝牙的重新加载一下设备。

第三步,如果第二部成功了之后,继续下面操作,如果不成功,可能说明出现问题的原因不一样。可能下面对你没有帮助了

    sudo apt install pulseaudio pulseaudio-module-bluetooth pavucontrol

第四步,在 /etc/bluetooth/main.conf 中启用AAC支持:

[General]
Enable=A2DP, AAC

第五步,重置

pulseaudio -k
pulseaudio --start

第六步,重新连接蓝牙看是否成功

最新发现,修改`/etc/bluetooth/main.conf`
![在这里插入图片描述](https://i-blog.csdnimg.cn/direct/2c34521387444276b72d3a9597142815.png)
然后sudo systemctl restart bluetooth,然后再连接蓝牙应该就可以了

后来又尝试了一下
安装22.04对应的bluez的源码,版本号是5.65。
然后运行命令`sudo ldconfig`

```bash
➜  systemctl daemon-reload
➜  sudo systemctl restart bluetooth
```

问题的根本原因在于 PulseAudio 以 root 用户身份启动,而不是以当前登录用户身份运行。

在桌面环境中,PulseAudio 设计为用户级服务,它会自动加载用户的配置文件以及必要的模块(例如蓝牙相关模块)。而当 PulseAudio 以 root 身份启动时,会出现以下问题:

  • 连接被拒绝:你作为普通用户运行的 pactl 命令无法连接到 root 实例,因而出现 “Connection refused” 错误。
  • 模块未正确加载:由于使用了错误的实例,蓝牙模块(module-bluetooth-policy、module-bluetooth-discover)没有按预期加载,导致系统无法将音频正确路由到蓝牙设备。

你通过以下步骤解决了问题:

  1. 使用 sudo pkill pulseaudio 杀掉了以 root 运行的 PulseAudio 进程。
  2. 启动了以当前用户身份运行的 PulseAudio 实例,从而使得 pactl 能够正确连接,并加载蓝牙模块。

因此,恢复了正确的用户级 PulseAudio 实例后,蓝牙模块被加载,音频输出恢复正常。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Philtell

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值