csr867x入门之avrcp使用(四)

目录

介绍

Avrcp控制

Avrcp注册evt

Avrcp浏览媒体信息


介绍

Avrcp相关的逻辑代码都在sink_avrcp*文件中,sink_avrcp.c和.h主要是应用层的api,包括媒体控制,事件注册,连接管理等;sink_avrcp_browsing.c中主要是媒体信息获取相关的api,至于这些api的原理,请参数蓝牙avrcp协议,有兴趣可以去看我的蓝牙协议专栏。

Avrcp控制

adk已经封装了相关UE事件为AT指令,通过这些指令即可实现对应的控制效果,AT的实现请参考我上篇的博客,如EventUsrAvrcpPlay,通过如下代码,就可以控制手机端音乐播放,其他的控制也可以参考做类似操作即可

Avrcp注册evt

有些事件需要手机端在有状态改变的时候,主动通知,比如歌曲切换之后其歌曲的相关信息,播放状态改变等。类似于注册回调函数。

AvrcpRegisterNotificationRequest()通过这个接口,可以向TG注册某状态改变对应的事件,事件的支持依赖于蓝牙规范中规定的事件列表,当然设备不一定支持蓝牙规范中的所有事件,所以还依赖于TG(手机端)的所支持的feature。想深入了解的,可以去看我的蓝牙协议栈之AVRCP篇。

Avrcp浏览媒体信息

AVRCP支持浏览当前播放的媒体的信息,如歌曲名,专辑,歌手等,可以通过该接口AvrcpGetElementAttributesRequest,主动从手机端读取。

当然正在播放的歌曲可能会发生变化,但是又不能无限循环从手机端获取,所以通常的做法是注册媒体内容改变的事件(avrcp_event_now_playing_content_changed),当手机端通知的到该事件时,再调用上面的接口去读取attribute信息

 

详细源码及相关的工具资料等,请到我的博客<csr867x入门笔记(序)>最下面的网盘链接或者github链接中下载。 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

在云巅

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值