您尚未登录。

楼主 #1 2018-05-08 16:25:37

mkseven32
会员
注册时间: 2018-04-24
已发帖子: 57
积分: 57

请问AVRCP 中命令值的定义 在哪里?

今天看来 A2DP 的例程, 由于之前没有接触过 经典蓝牙, 对AVRCP 的profile不熟悉。。

看到一点 关于 控制命令的, 发现没有音量控制的。 想加个音量控制的上去,
但是看到 这些命令的值 挺特别, 应该是profile 规定的~~~ 于是 去看AVRCP 的profile  找了半天 都没找到 这些命令的 值 如何规定~~~~

/// AVRC passthrough command code
typedef enum {
    ESP_AVRC_PT_CMD_PLAY = 0x44,                 /*!< play */
    ESP_AVRC_PT_CMD_STOP = 0x45,                 /*!< stop */
    ESP_AVRC_PT_CMD_PAUSE = 0x46,                /*!< pause */
    ESP_AVRC_PT_CMD_FORWARD = 0x4B,              /*!< forward */
    ESP_AVRC_PT_CMD_BACKWARD = 0x4C,             /*!< backward */
    ESP_AVRC_PT_CMD_REWIND = 0x48,               /*!< rewind */
    ESP_AVRC_PT_CMD_FAST_FORWARD = 0x49          /*!< fast forward */
} esp_avrc_pt_cmd_t;

请各位熟悉AVRCP 的指点指点。

另外有个奇怪的问题, 我尝试将play 命令 的值 修改为0x40 ,编译后下载,发现这个命令还是有效~~~~
这就奇怪了, 如果这个值没有意义  为啥 又要定这样 特别的值呢?

离线

楼主 #5 2018-05-08 17:04:42

mkseven32
会员
注册时间: 2018-04-24
已发帖子: 57
积分: 57

Re: 请问AVRCP 中命令值的定义 在哪里?

晕哥 说:

https://github.com/bluekitchen/btstack/blob/master/src/classic/avrcp.h

找到定义了:

    AVRCP_OPERATION_ID_PLAY = 0x44,
    AVRCP_OPERATION_ID_STOP = 0x45,
    AVRCP_OPERATION_ID_PAUSE = 0x46,
    AVRCP_OPERATION_ID_REWIND = 0x48,
    AVRCP_OPERATION_ID_FAST_FORWARD = 0x49,
    AVRCP_OPERATION_ID_FORWARD = 0x4B,
    AVRCP_OPERATION_ID_BACKWARD = 0x4C,
    AVRCP_OPERATION_ID_UNDEFINED = 0xFF

看来这些值是不能随便改的, 看你是不是没有重新编译成功, 或者烧录有问题?

是啊, 我对比了其他方案的SDK ,发现其他家的 也是这样定义, 所以这个应该是profile 规定的!

但是看了一下午profile ,没找到这些命令 没有找到具体说明~~~

离线

楼主 #8 2018-05-10 17:09:00

mkseven32
会员
注册时间: 2018-04-24
已发帖子: 57
积分: 57

Re: 请问AVRCP 中命令值的定义 在哪里?

晕哥 说:

https://www.silabs.com/documents/login/application-notes/AN986.pdf

Note:
Not all devices support all command code. For example, iOS devices do not support remote volume control
using 0x41, 0x42, or 0x43 commands. This is a limitation of iOS and not an iWRAP firmware problem.

注意:
并非所有设备都支持所有命令代码。例如,iOS设备不支持远程音量控制
使用0x41,0x42或0x43命令。这是iOS的限制,而不是iWRAP固件问题。

今天强制 使用0x41 和0x42  这样的命令,发现 苹果5 播放音乐确实是不支持。

但我有一个疑问,那作为CT 设备  它本事应该支持, (在他不清楚TG 是否为IOS 设备情况 它应该支持才对,不然如果是安卓的手机来连接 它呢)?

离线

页脚

工信部备案:粤ICP备20025096号 Powered by FluxBB

感谢为中文互联网持续输出优质内容的各位老铁们。 QQ: 516333132, 微信(wechat): whycan_cn (哇酷网/挖坑网/填坑网) service@whycan.cn