我正在研究在 Linux 平台上用 C 语言编写的互联网广播项目的蓝牙媒体播放器功能。这个想法是:
- 连接到附近支持 AVRCP 配置文件的 BT 扬声器
- 通过 BT 将音频传输到 BT 扬声器
- 处理按钮推送事件
最初我遵循 MPRIS D-Bus 接口规范:https ://specifications.freedesktop.org/mpris-spec/latest/
如果我理解得很好,规范说明如下:
- 请求一个唯一的总线名称,如下所示:org.mpris.MediaPlayer2.AnyName
- 公开 /org/mpris/MediaPlayer2 对象路径
- 实现以下接口:
- org.mpris.MediaPlayer2
- org.mpris.MediaPlayer2.Player
所有这些步骤都已完成。我正在使用 D-Feet D-bus 工具来测试属性查询、方法调用,它们都工作正常。
现在我的问题是,当我连接到 BT 扬声器并按下按钮时,应用程序没有收到事件。
您能否指出我缺少的内容以及下一步该怎么做?
提前致谢!
PM:对不起,如果我不清楚,我是一个新手程序员和 Stackoverflow 用户。如果您需要更多信息,请询问我。我会很感激你的任何建议:)
EDIT1:我拥有的源代码是 1200 行,我不知道我可以从代码中为您提取什么。但仅供参考,我正在使用 GLib 的高级 D-Bus 支持:https ://developer.gnome.org/gio/stable/gdbus-convenience.html