蓝牙音乐的AVRCP常用命令介绍
本文无需分析Android源代码,即可轻松识别与实际蓝牙音乐相关的常见AVRCP命令。
播放、暂停、上下切头命令均成对出现,模拟按钮按下状态,点击pressed,释放released,成对出现的两个AVRCP命令完成一个动作。
1、AVRCP Play
播放蓝牙音乐,并使用AVCTP的AV/C格式命令行走控制通道
2、AVRCP Pause
暂停蓝牙音乐,然后使用AV/C格式的命令进行控制通道,就像播放命令一样
在实际使用中,一些TG端设备(例如手机)执行了相反的操作,这是因为CT端可能会快速发送两次播放或暂停命令。 应对以上场景需要避免,更好地提供蓝牙音乐功能。
3、AVRCP Forward
把歌切成下一首歌,数据交替进行控制通道。
4、AVRCP Backward
在前一首歌中打歌,数据交替通过控制通道。
5、AVRCP Get Element Attributes
获取歌手、曲名、专辑名、总歌曲时间等歌曲信息,用AV/C格式的命令走控制通道。
6、AVRCP Get Item Attributes
以同样的方式获取歌曲信息,但使用浏览格式的命令通过浏览频道。
7、AVRCP Get Play Status
获取当前播放状态、歌曲总时间、当前播放的进度条和播放状态等信息,并使用AV/C格式的命令通过控制通道。
必须循环请求此命令以获取播放歌曲的进度条的信息。 在Android源代码rc_start_play_status_timer()中,通过每2s的计时器来实现这一功能。
8、AVRCP Get Capabilities
获取远程设备的AVRCP的能力,如公司名称、支持的事件等。 使用AV/C格式的命令移动控制信道。
9、AVRCP Register Notification
注册通知,成功注册GT端支持的事件后,如果事件发生变更,会自动通知CT端,进行正确的处理。 依然用AV/C形式的命令进行控制信道。
10、AVRCP Get Folder Items
获取文件夹列表,如媒体播放器列表、文件系统列表等。 蓝牙音乐主要通过陟览命令通过陟览通道获取媒体播放器列表,并返回当前可用的媒体播放器名称和支持的功能。
AVRCP中常用的命令可以轻松共享到这里。 这些命令的组合使用几乎可以满足蓝牙音乐APP应用的需要。 更多指令的学习使用留待在实际项目中体验。 感兴趣的伙伴欢迎私信留言一起讨论,一起学习,一起进步!
更多互联技术,欢迎关注微信公众号: Connectivity