BlueZ 5.79环境下启用AVRCP封面艺术支持的方法咨询
AVRCP封面艺术支持在BlueZ 5.79中的实现指引
针对你遇到的Image Handle为0、OBEX未注册的问题,以下是具体解决方向:
1. 是否需要额外补丁?
不需要。BlueZ 5.79主版本原生支持AVRCP 1.6的封面艺术功能,但必须确保编译BlueZ时启用了相关编译选项:
- 编译时需添加
--enable-obex和--enable-media参数,这两个选项默认可能未开启,缺少的话会导致OBEX服务和AVRCP媒体功能无法正常工作。
2. obexd的启动参数
启动obexd时需要传入以下关键参数,确保其注册并支持AVRCP封面传输:
- 基础启动命令:
obexd -a -d -r /path/to/cover-storage-a:启用自动连接,允许手机端主动发起OBEX会话-d:开启调试模式,方便排查连接或传输问题(生产环境可移除)-r:指定封面文件的存储目录,需确保obexd运行用户对该目录有读写权限
- 若需避免不必要的插件冲突,可添加
--noplugin=ftp,opp(仅保留AVRCP相关插件)
另外,启动obexd前需确保bluetoothd已正常运行,且bluetoothd配置文件/etc/bluetooth/main.conf中MediaEnabled设置为true。
3. SDP记录与配置变更
- SDP记录无需手动添加,obexd启动后会自动向bluetoothd注册OBEX服务的SDP记录,但需确保bluetoothd的SDP服务正常运行(默认已启用)。
- 额外配置要点:
- 修改
/etc/bluetooth/obexd.conf,添加或确认以下配置:TransferFolder=/var/lib/bluetooth/obex-covers AutoAccept=true - 通过
bluetoothctl执行discoverable on和pairable on,确保音箱处于可发现、可配对状态 - 给封面存储目录设置正确权限:
chown bluetooth:bluetooth /var/lib/bluetooth/obex-covers
- 修改
额外排查建议
- 确认手机端已开启媒体共享类权限,允许蓝牙设备获取专辑封面
- 用
bluetoothctl info <手机MAC>查看已连接设备的服务列表,确认OBEX服务已被识别 - 查看日志排查问题:
journalctl -u obexd、journalctl -u bluetooth
内容的提问来源于stack exchange,提问作者Abdul Asik
相关产品推荐
相关产品推荐

