I would like to communicate with another Bluetooth device using the AVRCP vendor dependent or pass through command. From the API available, there does not seem to be any way to make such calls from an android application. Can anyone advise on whether this is possible and how this can be done if it is possible?
问问题
5702 次
3 回答
4
您应该做的是直接与 BlueZ 蓝牙堆栈的 HCI 层对话。您可以通过 D-Buss 守护程序执行此操作,您可以从用户空间执行此操作。接下来,您以 ARVCP 规范为例1.0,但您也可以在蓝牙 SIG AVRCP 1.3 或 1.4 规范上找到,然后开始解析命令。此演示文稿应该会有所帮助:Android Bluetooth Introduction and this stackoverflow question。
于 2011-12-05T10:57:10.697 回答
3
请参考以下链接:
于 2011-12-26T12:32:49.927 回答
1
您似乎遇到了蓝牙设备之间最常见的问题,即蓝牙兼容问题。由于蓝牙配置文件没有严格定义音频相关的行为,不同制造商实现的不同行为会导致这个问题。这就是为什么每台蓝牙设备都应该通过蓝牙组织的蓝牙兼容测试,但它并不能消除所有问题。
作为蓝牙协议栈的开源实现,Blue Z 在我看来并不是最好的,蓝牙设备的异常行为也很麻烦。如果您有一些测试工具,例如 PTS(配置文件调整套件),请尝试使用它来找出导致问题的一方。如果配置文件方面一切正常,这对您来说是个好消息,问题可能是由相关应用程序的一些错误引起的。如果配置文件通信出现问题,则意味着您无法在 API 级别进行修改,您可能需要在配置文件堆栈中进行一些肮脏的工作,如果您是手机制造商,它可以解决您的问题,如果不是,您无法解决问题两者都不。
于 2011-12-05T15:47:16.293 回答