大佬们好!
我在使用CYW 20706模块调试AVRCP协议时(IDE ModusToolbox, bt_sdk 2.5),调用avrc_app_pass_through(uint16_t handle, uint8_t op_id,uint8_t state)函数控制音量,函数反馈“WICED_SUCCESS”,但手机端音量无变化,更换多个手机测试无果。调试过程AVRCP协议连接正常,上/下曲、播放/暂停等功能都正常。
手机端关键LOG:
D Avrcp_ext: Avrcp current play state: 2 isMusicActive: false A2dp state: 11 Cached passthrough command: 0
W Avrcp_ext: Passthrough non-media key 65 (code 24) state 0
D Avrcp_ext: cached passthrough: 0current passthrough: 24
W MediaSessionService: Attempted to dispatch null or non-media key event.
V Avrcp_ext: Exit handleMessage
我查看了Android的KEYCODE定义,KeyEvent.KEYCODE_VOLUME_UP = 24.
请问导致这个问题的原因可能有那些?是否存在解决的方法?
已解决! 转到解答。
目前市面上的手机一般都不支持volume up/down的指令,而是采用absolute volume的方式。
我这边用MTB2.2 BTSDK2.8在headset的demo上测试,发送absolute volume指令,在手机端(Android/IOS)都可以看到音量条的变化。
你可以通过clientcontrol工具直接发送指令进行测试,如下图:
请问你具体发的哪一个指令,音量增加减少的指令还是绝对音量的指令?
发送指令的时候是否能看到手机端出现音量条变化?
发送音量增加减少的指令,手机音量条没有变化。
目前市面上的手机一般都不支持volume up/down的指令,而是采用absolute volume的方式。
我这边用MTB2.2 BTSDK2.8在headset的demo上测试,发送absolute volume指令,在手机端(Android/IOS)都可以看到音量条的变化。
你可以通过clientcontrol工具直接发送指令进行测试,如下图:
好的,谢谢!还请发一下BTSDK2.8 offline 安装包的下载链接。
BTSDK 2.9已经release了,你可以直接使用BTSDK 2.9进行测试。
ModusToolbox Bluetooth SDK Installation Notes - Cypress Developer Community