蓝牙学习-AVRCP

AVRCP - Audio/Video Remote Control Profile

AVRCP提供蓝牙设备如何远距离播放音频文件,比如mp3或者手机播放MP3音乐,蓝牙耳机可听到声音并且可以控制播放,控制音量。同时手机(播放器)端可以收到蓝牙耳机电量。所以,两端的蓝牙设备都存在两个角色:控制器角色(Controller,发送控制命令角色),执行角色(Target,响应控制命令角色)。

AVRCP的服务能力

1,AVRCP 查看(Browsing)

Browser是用来查看远端设备(A2DP Source)信息的。创建AVRCP Browsing服务的流程如下:

1,初始化a2dp_sink_init()以及local_stream_endpoint(),avrcp_init(),avrcp_controller_init(),avrcp_target_init()
2,初始化avrcp_browsing_init(),avrcp_browsing_controller_init(),avrcp_browsing_target_init()
3,初始化SDP,GAP

连接顺序:先建立a2dp连接,a2dp_sink_establish_stream,然后建立avrcp连接,avrcp_connect,最后建立browsing连接,avrcp_browsing_connect;

2,AVRCP 控制

AVRCP提供了远程控制和收听通知的具体能力。创建AVRCP Controller的服务流程如下:

1,创建控制器,处理本设备的命令请求:avrcp_controller,avrcp_controller_init,register_packet_handler(处理通知消息,当前播放消息,以及控制命令消息),create_sdp_record,
2,创建目标对象,处理接收对端设备的命令请求:avrcp_target,avrcp_target_init,register_packet_handler(处理目标端消息,如音量调节等)

你可能感兴趣的:(蓝牙学习-AVRCP)