蓝牙音乐AVRCP常用命令介绍
在本文中,我们不谈论协议和分析安卓源代码,而只是简单了解实际蓝牙音乐中涉及的常用AVRCP指令。
播放、暂停和第一首歌曲剪辑指令都成对出现。模拟按钮的按下状态,单击按下,然后释放。两条AVRCP指令成对出现,完成一个动作。
1、AVRCP播放
播放蓝牙音乐,使用AVCTP的AV/C格式命令,占用控制通道
2、AVRCP暂停
暂停蓝牙音乐,使用AV/C格式命令像播放命令一样通过控制通道
在实际使用中,CT终端可能会快速发送两次播放或暂停指令,这可能会触发一些TG设备执行相反的操作。与上述场景相对应,需要更好地避免和提供蓝牙音乐功能。
3、AVRCP转发
将歌曲剪切到下一首,数据交换占用控制通道。
4、AVRCP向后
把歌曲切到前一首,数据交换走控制通道。
5、获取元素属性
获取歌曲信息,如歌手、歌曲名称、专辑名称、总歌曲时长等详细信息,并使用AV/C格式的命令通过控制通道。
6、AVRCP获取项目属性
同样是获取歌曲信息,但是浏览格式的命令用于浏览频道。
7、AVRCP获取播放状态
获取当前播放状态,包括歌曲总长度、当前播放进度条、播放状态等信息,并使用AV/C格式的命令通过控制通道。
该指令需要循环请求,因为它获取歌曲播放的进度条信息。这个功能是通过在安卓源代码rc_start_play_status_timer中每2s定时器一次来实现的。
8、AVRCP获得能力
获取远程设备AVRCP的能力,如公司名称、支持的事件,使用AV/C格式的命令通过控制通道。
9、AVRCP注册通知
注册通知:GT支持的事件注册成功后,如果事件发生变化,会自动通知CT,以便做出正确的处理,AV/C格式的命令仍然会经过控制通道。
10、AVRCP获取文件夹项目
获取文件夹列表,如媒体播放器列表、文件系统列表等。蓝牙音乐主要通过浏览命令和浏览频道获取媒体播放器列表,会返回当前可用媒体播放器的名称及其支持的功能。
AVRCP常用的命令在这里简单分享一下,以上命令基本可以满足蓝牙音乐应用的需求,更多的命令可以学习使用,供大家在实际项目中体验。感兴趣的朋友欢迎私信讨论,一起学习,一起进步!