通过@kenn启发,我决定去深入dbus
和d-feet
工具。最终,我使用以下命令达到了目标:
dbus-send --system --print-reply --dest=org.bluez /org/bluez/hci0/dev_44_78_3E_85_9D_6F org.bluez.MediaControl1.Play
当然会触发在通过蓝牙连接到PC的移动设备上播放音乐。
通常,对于蓝牙设备,此命令如下所示:
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-feet
使用安装sudo apt install d-feet
。运行它之后,bluez
在System Bus
选项卡下应用搜索查询,并使用设备的MAC查找条目:
有些方法类似于在下使用蓝牙耳机的东西org.bluez.MediaControl1
。但是,当您浏览这些树时,可以找到更多的方法,这确实值得您注意。
dbus-send
是用于使用发送信号的命令dbus
。--system
开关表示我们要使用System Bus
d-feet标签中的内容。我还没有尝试过,但是我想--print-reply
这只是出于调试目的,不是强制性的。在d英尺标头中--dest=org.blez
引用Name
。/org/bluez/hci0/dev_<mobile_bluetooth_device_mac_address_with_numbers_underscore_separated>
并 org.bluez.MediaControl1.<command>
参考对象树路径。