如何发送依赖蓝牙AVRCP供应商并从应用程序传递命令?

时间:2011-10-19 14:32:02

标签: android bluetooth avrcp

我想使用AVRCP厂商相关或通过命令与另一台蓝牙设备通信。从可用的API,似乎没有任何方式从Android应用程序进行此类调用。任何人都可以建议这是否可能以及如果可能的话如何做到这一点?

3 个答案:

答案 0 :(得分:4)

您应该做的是直接与BlueZ蓝牙堆栈的HCI层对话。您可以通过D-Buss守护程序执行此操作,您可以从Userspace执行此操作。接下来您将ARVCP规范作为示例1.0,但您也可以找到Bluetooth SIG AVRCP 1.3或1.4规范,并开始解析命令。此演示文稿应该有用:Android Bluetooth Introduction和此stackoverflow question

enter image description here

答案 1 :(得分:3)

请参阅以下链接:

Adding AVRCP Plugin in Android GB

答案 2 :(得分:1)

您似乎面临蓝牙设备之间最常见的问题,蓝牙兼容问题。由于蓝牙配置文件没有严格定义音频相关行为,因此不同制造商实施的不同行为会导致此问题。这就是为什么每个蓝牙设备都应该通过蓝牙组件的蓝牙兼容测试,但是,它无法消除所有问题。

作为蓝牙协议栈的开源实现,Blue Z并不是我心目中最好的,蓝牙设备的异常行为也会造成麻烦。如果您有一些像PTS(配置文件调整套件)这样的测试工具,请尝试使用它来找出导致问题的方面。如果在配置文件方面一切正常,这对您来说是个好消息,问题可能会由相关应用程序的一些错误引起。如果配置文件通信出现问题,则意味着您无法在API级别进行修改,您可能需要在配置文件堆栈中进行一些脏工作,如果您是手机制造商,它可以解决您的问题,如果您不是,则无法解决问题两者都不是。