[ English | 简体中文 ]
蓝牙 AVRCP API
openvela 蓝牙 AVRCP(音视频远程控制)接口,支持播放控制、曲目信息查询等。
头文件:#include "bt_avrcp.h"、#include "bt_avrcp_control.h"、#include "bt_avrcp_target.h"
openvela 实现说明
- 双角色支持:Controller(控制端)和 Target(目标端)
- 功能:播放/暂停/切歌、音量控制、曲目信息获取
同步接口
bt_avrcp_control_unregister_callbacks
bool bt_avrcp_control_unregister_callbacks(bt_instance_t* ins, void* cookie);
取消注册回调函数,停止接收状态变更通知。
参数:
ins蓝牙客户端实例。cookie用户上下文。
返回值:
取消注册回调函数。
bt_avrcp_control_get_element_attributes
bt_status_t bt_avrcp_control_get_element_attributes(bt_instance_t* ins, bt_address_t* addr);
获取媒体元素属性。
参数:
ins蓝牙客户端实例。addr远程设备蓝牙地址。
返回值:
成功时返回 BT_STATUS_SUCCESS,失败时返回错误码。
bt_avrcp_control_send_passthrough_cmd
bt_status_t bt_avrcp_control_send_passthrough_cmd(bt_instance_t* ins, bt_address_t* addr, uint8_t cmd, uint8_t state);
发送透传命令。
参数:
ins蓝牙客户端实例。addr远程设备蓝牙地址。cmd命令。state状态。
bt_avrcp_control_get_unit_info
bt_status_t bt_avrcp_control_get_unit_info(bt_instance_t* ins, bt_address_t* addr);
获取远程 AVRCP 设备的单元信息。
参数:
ins蓝牙客户端实例。addr蓝牙地址。
bt_avrcp_control_get_subunit_info
bt_status_t bt_avrcp_control_get_subunit_info(bt_instance_t* ins, bt_address_t* addr);
获取子单元信息。
参数:
ins蓝牙客户端实例。addr远程设备蓝牙地址。
bt_avrcp_control_get_playback_state
bt_status_t bt_avrcp_control_get_playback_state(bt_instance_t* ins, bt_address_t* addr);
获取远程设备的当前播放状态。
参数:
ins蓝牙客户端实例。addr蓝牙地址。
bt_avrcp_control_register_notification
bt_status_t bt_avrcp_control_register_notification(bt_instance_t* ins, bt_address_t* addr, uint8_t event, uint32_t interval);
注册事件通知。
参数:
ins蓝牙客户端实例。addr远程设备蓝牙地址。event事件类型。interval间隔。
bt_avrcp_target_unregister_callbacks
bool bt_avrcp_target_unregister_callbacks(bt_instance_t* ins, void* cookie);
取消注册回调函数,停止接收状态变更通知。
参数:
-
ins蓝牙客户端实例。 -
cookie用户上下文。 -
cookie用户上下文。 -
ins蓝牙客户端实例。
返回值:
成功时返回回调 cookie,失败或已注册时返回 NULL。
bt_avrcp_target_get_play_status_response
bt_status_t bt_avrcp_target_get_play_status_response(bt_instance_t* ins, bt_address_t* addr, avrcp_play_status_t status, uint32_t song_len, uint32_t song_pos);
回复播放状态查询。
参数:
ins蓝牙客户端实例。addr蓝牙地址 of the peer device.status状态码。song_len歌曲长度(毫秒)。song_pos当前播放位置(毫秒)。
返回值:
成功时返回 BT_STATUS_SUCCESS,失败时返回错误码。
bt_avrcp_target_play_status_notify
bt_status_t bt_avrcp_target_play_status_notify(bt_instance_t* ins, bt_address_t* addr, avrcp_play_status_t status);
通知播放状态变更。
参数:
ins蓝牙客户端实例。addr远程设备蓝牙地址。status状态码。
返回值:
成功时返回 BT_STATUS_SUCCESS,失败时返回错误码。