发布
社区首页 >问答首页 >发送暂停/继续播放和下/先前的音轨蓝牙命令

发送暂停/继续播放和下/先前的音轨蓝牙命令
EN

Ask Ubuntu用户
提问于 2019-01-26 12:17:19
回答 1查看 5K关注 0票数 12

我想我的Ubuntu个人电脑发送蓝牙音频命令(播放/暂停,下一/前一首歌曲和上/下)到其他设备通过蓝牙播放音乐。换句话说,我想实现我的Ubuntu“伪装”为一种蓝牙耳机,它可以改变音轨,暂停和恢复音乐。

下面的桌面控制屏幕截图说明了以下设置(pt2是通过蓝牙连接的设备):

在这种配置中,流可以像预期的那样工作(我可以听到来自pt2的音乐流),但是我没有找到任何方法向它发送任何信号,比如暂停/恢复播放或改变轨道。

我已经发现有许多蓝牙协议允许特定的功能。如果我正确理解规范,我感兴趣的是A2DP,这就是现在设备连接的方式。但在剖面下拉,我也有选择HSP/HFP耳机头单元,HSP/HFP耳机网关和关闭。

我将用Python开发我自己的应用程序,它将允许发送这样的命令,所以我有兴趣通过Python或bash命令发送它们。

我之所以问这个问题,是因为我对如何与蓝牙设备沟通感兴趣。

EN

回答 1

Ask Ubuntu用户

回答已采纳

发布于 2019-01-31 09:17:49

受@kenn启发,我决定深入研究dbusd-feet工具。最后,我使用以下命令实现了我的目标:

代码语言:javascript
代码运行次数:0
复制
dbus-send --system --print-reply --dest=org.bluez /org/bluez/hci0/dev_44_78_3E_85_9D_6F org.bluez.MediaControl1.Play

当然,这会在我的移动设备上触发音乐,通过蓝牙连接到我的电脑上。

对于蓝牙设备,此命令一般如下所示:

代码语言:javascript
代码运行次数:0
复制
dbus-send --system --print-reply --dest=org.bluez /org/bluez/hci0/dev_<mobile_bluetooth_device_mac_address_with_numbers_underscore_separated> org.bluez.MediaControl1.<command_to_send>

为了检查设备的MAC地址,运行bt-devices -l。它将列出所有已知的(但不一定是连接的,甚至是发现的)设备,并在括号中列出MAC地址。

为了找到允许的命令列表,请安装带有d-feetsudo apt install d-feet。运行它之后,在bluez选项卡下应用搜索System Bus查询,并使用设备的MAC查找条目:

org.bluez.MediaControl1下,有一些类似于使用蓝牙耳机的方法。但是,当你浏览那些树时,你可以找到更多的方法,这是值得你注意的。

dbus-send是一个使用dbus发送信号的命令。--system开关表示我们想要使用System Bus的选项卡上的东西。我还没有尝试过它,但我认为--print-reply只是为了调试目的,而不是强制性的。--dest=org.blez指的是d英尺头部的Name ./org/bluez/hci0/dev_<mobile_bluetooth_device_mac_address_with_numbers_underscore_separated>org.bluez.MediaControl1.<command>引用对象树路径。

票数 13
EN
页面原文内容由Ask Ubuntu提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://askubuntu.com/questions/1113050

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档