controller
头文件清单:
- include/middleware/services/bts/br/bts_avrcp_controller.h
接口清单
接口名称 功能简述 avrcp_ct_get_device_connect_state 通过设备地址查询AVRCP连接状态 avrcp_ct_connect 与对端设备建立AVRCP连接 avrcp_ct_disconnect 断开与TG的AVRCP连接 avrcp_ct_press_button 通知TG端CT已按下button avrcp_ct_release_button 通知TG端CT已释放button avrcp_ct_get_supported_companies 获取TG端支持的公司列表 avrcp_ct_get_supported_events 获取TG端支持的事件列表 avrcp_ct_get_element_attributes 获取TG端支持的属性列表 avrcp_ct_get_play_status 获取TG端媒体的播放状态信息 avrcp_ct_register_notification 注册TG端事件通知 avrcp_ct_set_absolute_volume 设置TG端的绝对音量 avrcp_ct_register_callbacks 注册AVRCP CT回调函数
Functions
avrcp_ct_get_device_connect_state
头文件清单:
- include/middleware/services/bts/br/bts_avrcp_controller.h
功能说明:
- 通过设备地址查询设备AVRCP连接状态
- 返回值为profile_connect_state_t枚举值,表示正在连接/已连接/正在断连/已断连
- 该接口运行于BTS线程,不可阻塞或长时间等待
前置条件:
- 已通过avrcp_ct_register_callbacks注册回调函数
- 入参bd_addr不为NULL,指向有效的蓝牙设备地址
入参
名称 参数类型 详细说明 约束取值范围 bd_addr const bd_addr_t * 对端蓝牙设备的地址信息 非NULL
返回值
- 返回类型:int
返回值 文字含义 触发场景 PROFILE_STATE_CONNECTING(0x01) 正在连接 正在建立连接 PROFILE_STATE_CONNECTED(0x02) 已连接 连接已建立 PROFILE_STATE_DISCONNECTING(0x03) 正在断连 正在断开连接 PROFILE_STATE_DISCONNECTED(0x04) 已断连 连接已断开
avrcp_ct_connect
头文件清单:
- include/middleware/services/bts/br/bts_avrcp_controller.h
功能说明:
- 与对端设备建立AVRCP连接
- 连接结果通过avrcp_ct_conn_state_changed_callback回调通知
- 该接口为异步操作,调用后立即返回,连接状态变更通过回调获取
前置条件:
- 已通过avrcp_ct_register_callbacks注册回调函数
- 入参bd_addr不为NULL,指向有效的蓝牙设备地址
- BR/EDR链路已建立
入参
名称 参数类型 详细说明 约束取值范围 bd_addr const bd_addr_t * 对端蓝牙设备的地址信息 非NULL
返回值
- 返回类型:int
返回值 文字含义 触发场景 ERRCODE_BT_SUCCESS(0x00) 执行成功 连接请求成功发起 Other 其他错误码,参考errcode_bt_t 执行失败
avrcp_ct_disconnect
头文件清单:
- include/middleware/services/bts/br/bts_avrcp_controller.h
功能说明:
- 断开与TG的AVRCP连接
- 断开结果通过avrcp_ct_conn_state_changed_callback回调通知
- 该接口为异步操作,调用后立即返回,断开状态变更通过回调获取
前置条件:
- 已通过avrcp_ct_register_callbacks注册回调函数
- 入参bd_addr不为NULL,指向有效的蓝牙设备地址
- 与对端设备的AVRCP连接已建立
入参
名称 参数类型 详细说明 约束取值范围 bd_addr const bd_addr_t * 对端蓝牙设备的地址信息 非NULL
返回值
- 返回类型:int
返回值 文字含义 触发场景 ERRCODE_BT_SUCCESS(0x00) 执行成功 断开请求成功发起 Other 其他错误码,参考errcode_bt_t 执行失败
avrcp_ct_press_button
头文件清单:
- include/middleware/services/bts/br/bts_avrcp_controller.h
功能说明:
- 通知TG端CT已按下button,发送AVRCP按键按下操作
- 按键响应通过avrcp_ct_press_button_response_callback回调通知
- 支持播放、暂停、快进、快退、音量等标准AVRCP按键操作
前置条件:
- 已通过avrcp_ct_register_callbacks注册回调函数
- 入参bd_addr不为NULL,指向有效的蓝牙设备地址
- 与对端设备的AVRCP连接已建立
入参
名称 参数类型 详细说明 约束取值范围 bd_addr const bd_addr_t * 对端蓝牙设备的地址信息 非NULL key_operation int 按键操作 取值参考avrcp_key_operation_t
返回值
- 返回类型:int
返回值 文字含义 触发场景 ERRCODE_BT_SUCCESS(0x00) 执行成功 按键操作成功发起 Other 其他错误码,参考errcode_bt_t 执行失败
avrcp_ct_release_button
头文件清单:
- include/middleware/services/bts/br/bts_avrcp_controller.h
功能说明:
- 通知TG端CT已释放button,发送AVRCP按键释放操作
- 按键释放响应通过avrcp_ct_release_button_response_callback回调通知
- 通常与avrcp_ct_press_button配对使用
前置条件:
- 已通过avrcp_ct_register_callbacks注册回调函数
- 入参bd_addr不为NULL,指向有效的蓝牙设备地址
- 与对端设备的AVRCP连接已建立
- 已通过avrcp_ct_press_button发送对应的按键按下操作
入参
名称 参数类型 详细说明 约束取值范围 bd_addr const bd_addr_t * 对端蓝牙设备的地址信息 非NULL key_operation int 按键操作 取值参考avrcp_key_operation_t
返回值
- 返回类型:int
返回值 文字含义 触发场景 ERRCODE_BT_SUCCESS(0x00) 执行成功 释放操作成功发起 Other 其他错误码,参考errcode_bt_t 执行失败
avrcp_ct_get_supported_companies
头文件清单:
- include/middleware/services/bts/br/bts_avrcp_controller.h
功能说明:
- 获取TG端支持的公司列表
- 响应通过avrcp_ct_supported_companies_callback回调通知
- 返回TG支持的company ID数量及ID列表
前置条件:
- 已通过avrcp_ct_register_callbacks注册回调函数
- 入参bd_addr不为NULL,指向有效的蓝牙设备地址
- 与对端设备的AVRCP连接已建立
入参
名称 参数类型 详细说明 约束取值范围 bd_addr const bd_addr_t * 对端蓝牙设备的地址信息 非NULL
返回值
- 返回类型:int
返回值 文字含义 触发场景 ERRCODE_BT_SUCCESS(0x00) 执行成功 请求成功发起 Other 其他错误码,参考errcode_bt_t 执行失败
avrcp_ct_get_supported_events
头文件清单:
- include/middleware/services/bts/br/bts_avrcp_controller.h
功能说明:
- 获取TG端支持的事件列表
- 响应通过avrcp_ct_supported_event_callback回调通知
- 协议规定0x01和0x02事件为强制支持
前置条件:
- 已通过avrcp_ct_register_callbacks注册回调函数
- 入参bd_addr不为NULL,指向有效的蓝牙设备地址
- 与对端设备的AVRCP连接已建立
入参
名称 参数类型 详细说明 约束取值范围 bd_addr const bd_addr_t * 对端蓝牙设备的地址信息 非NULL
返回值
- 返回类型:int
返回值 文字含义 触发场景 ERRCODE_BT_SUCCESS(0x00) 执行成功 请求成功发起 Other 其他错误码,参考errcode_bt_t 执行失败
avrcp_ct_get_element_attributes
int avrcp_ct_get_element_attributes(const bd_addr_t *bd_addr, const avrcp_ct_get_element_attr_para_t *param)
头文件清单:
- include/middleware/services/bts/br/bts_avrcp_controller.h
功能说明:
- 获取TG端支持的属性列表,比如歌曲标题、专辑、艺术风格、年份和作曲家等
- 响应通过avrcp_ct_get_element_attribute_callback回调通知
- 通过attr_id_list指定待查询的属性ID列表
前置条件:
- 已通过avrcp_ct_register_callbacks注册回调函数
- 入参bd_addr不为NULL,指向有效的蓝牙设备地址
- 入参param不为NULL,param->attr_id_list不为NULL
- 与对端设备的AVRCP连接已建立
入参
名称 参数类型 详细说明 约束取值范围 bd_addr const bd_addr_t * 对端蓝牙设备的地址信息 非NULL param const avrcp_ct_get_element_attr_para_t * 属性ID数量及列表 非NULL,attr_id_list非NULL
返回值
- 返回类型:int
返回值 文字含义 触发场景 ERRCODE_BT_SUCCESS(0x00) 执行成功 请求成功发起 Other 其他错误码,参考errcode_bt_t 执行失败
avrcp_ct_get_play_status
头文件清单:
- include/middleware/services/bts/br/bts_avrcp_controller.h
功能说明:
- 获取TG端媒体的播放状态信息
- 响应通过avrcp_ct_get_play_status_callback回调通知
- 返回歌曲播放时长、已播放位置及播放状态
前置条件:
- 已通过avrcp_ct_register_callbacks注册回调函数
- 入参bd_addr不为NULL,指向有效的蓝牙设备地址
- 与对端设备的AVRCP连接已建立
入参
名称 参数类型 详细说明 约束取值范围 bd_addr const bd_addr_t * 对端蓝牙设备的地址信息 非NULL
返回值
- 返回类型:int
返回值 文字含义 触发场景 ERRCODE_BT_SUCCESS(0x00) 执行成功 请求成功发起 Other 其他错误码,参考errcode_bt_t 执行失败
avrcp_ct_register_notification
int avrcp_ct_register_notification(const bd_addr_t *bd_addr, unsigned char event_id, unsigned int interval)
头文件清单:
- include/middleware/services/bts/br/bts_avrcp_controller.h
功能说明:
- 将TG端支持的事件注册成功后,如果该事件改变会自动通知到CT端
- 响应通过avrcp_ct_notification_callback回调通知
- 需先通过avrcp_ct_get_supported_events获取TG支持的事件列表
前置条件:
- 已通过avrcp_ct_register_callbacks注册回调函数
- 入参bd_addr不为NULL,指向有效的蓝牙设备地址
- 与对端设备的AVRCP连接已建立
- event_id为TG端支持的事件ID
入参
名称 参数类型 详细说明 约束取值范围 bd_addr const bd_addr_t * 对端蓝牙设备的地址信息 非NULL event_id unsigned char 事件ID 取值参考avrcp_notify_event_t interval unsigned int TG端状态变更时向CT端回响应的时间间隔,单位秒 -
返回值
- 返回类型:int
返回值 文字含义 触发场景 ERRCODE_BT_SUCCESS(0x00) 执行成功 注册请求成功发起 Other 其他错误码,参考errcode_bt_t 执行失败
avrcp_ct_set_absolute_volume
头文件清单:
- include/middleware/services/bts/br/bts_avrcp_controller.h
功能说明:
- 设置TG端的绝对音量
- 有效取值范围[0x00, 0x7F],表示0%~100%
- 参考Audio/Video Remote Control 1.6.2 Section 6.13.1 Absolute Volume
前置条件:
- 已通过avrcp_ct_register_callbacks注册回调函数
- 入参bd_addr不为NULL,指向有效的蓝牙设备地址
- 与对端设备的AVRCP连接已建立
入参
名称 参数类型 详细说明 约束取值范围 bd_addr const bd_addr_t * 对端蓝牙设备的地址信息 非NULL volume unsigned char 绝对音量百分比 [0x00, 0x7F],参考avrcp_absolute_volume_t
返回值
- 返回类型:int
返回值 文字含义 触发场景 ERRCODE_BT_SUCCESS(0x00) 执行成功 设置请求成功发起 Other 其他错误码,参考errcode_bt_t 执行失败
avrcp_ct_register_callbacks
头文件清单:
- include/middleware/services/bts/br/bts_avrcp_controller.h
功能说明:
- 注册AVRCP CT回调函数
- 回调函数定义包含连接状态变更、按键响应、属性获取、播放状态、通知等全部回调
- 注册回调后方可接收其他接口的异步响应
前置条件:
- 入参func不为NULL,指向有效的回调函数结构体
- func各回调成员函数指针已正确赋值
入参
名称 参数类型 详细说明 约束取值范围 func avrcp_ct_callbacks_t * 指向回调函数接口定义的指针 非NULL
返回值
- 返回类型:int
返回值 文字含义 触发场景 ERRCODE_BT_SUCCESS(0x00) 执行成功 注册成功 Other 其他错误码,参考errcode_bt_t 执行失败
Associations
avrcp_ct_notification_value_cb_t
成员名称 类型 描述 接口使用逻辑 play_status avrcp_play_status_t 播放状态 avrcp_ct_notification_callback回调出参载体 identifier unsigned long long 标识符 avrcp_ct_notification_callback回调出参载体 playback_position unsigned int 当前歌曲已播放时长,单位ms,无效值0xFFFFFFFF avrcp_ct_notification_callback回调出参载体 battery_status avrcp_battery_status_t 电池状态 avrcp_ct_notification_callback回调出参载体 system_status avrcp_ct_system_status_t 系统状态 avrcp_ct_notification_callback回调出参载体 addressed_player avrcp_ct_addressed_player_changed_cb_t TG返回的播放器地址变更的状态信息 avrcp_ct_notification_callback回调出参载体 uid_counter unsigned short uid计数 avrcp_ct_notification_callback回调出参载体 volume unsigned char 当前播放器的音量 avrcp_ct_notification_callback回调出参载体
Associations
avrcp_ct_notification_value_cb_t
typedef union {
avrcp_play_status_t play_status;
unsigned long long identifier;
unsigned int playback_position;
avrcp_battery_status_t battery_status;
avrcp_ct_system_status_t system_status;
avrcp_ct_addressed_player_changed_cb_t addressed_player;
unsigned short uid_counter;
unsigned char volume;
} avrcp_ct_notification_value_cb_t;
成员名称 类型 描述 接口使用逻辑 play_status avrcp_play_status_t 播放状态 avrcp_ct_notification_callback回调出参载体 identifier unsigned long long 标识符 avrcp_ct_notification_callback回调出参载体 playback_position unsigned int 当前歌曲已播放时长,单位ms,无效值0xFFFFFFFF avrcp_ct_notification_callback回调出参载体 battery_status avrcp_battery_status_t 电池状态 avrcp_ct_notification_callback回调出参载体 system_status avrcp_ct_system_status_t 系统状态 avrcp_ct_notification_callback回调出参载体 addressed_player avrcp_ct_addressed_player_changed_cb_t TG返回的播放器地址变更的状态信息 avrcp_ct_notification_callback回调出参载体 uid_counter unsigned short uid计数 avrcp_ct_notification_callback回调出参载体 volume unsigned char 当前播放器的音量 avrcp_ct_notification_callback回调出参载体
Enumerations
avrcp_key_operation_t
typedef enum {
AVRCP_KEY_VOLUME_UP = 0x41,
AVRCP_KEY_VOLUME_DOWN = 0x42,
AVRCP_KEY_MUTE = 0x43,
AVRCP_KEY_PLAY = 0x44,
AVRCP_KEY_STOP = 0x45,
AVRCP_KEY_PAUSE = 0x46,
AVRCP_KEY_RECORD = 0x47,
AVRCP_KEY_REWIND = 0x48,
AVRCP_KEY_FAST_FORWARD = 0x49,
AVRCP_KEY_FORWARD = 0x4B,
AVRCP_KEY_BACKWARD = 0x4C,
AVRCP_KEY_INVALID = 0x7F,
} avrcp_key_operation_t;
枚举成员 取值 描述 AVRCP_KEY_VOLUME_UP 0x41 音量调大操作 AVRCP_KEY_VOLUME_DOWN 0x42 音量调小操作 AVRCP_KEY_MUTE 0x43 静音操作 AVRCP_KEY_PLAY 0x44 play操作 AVRCP_KEY_STOP 0x45 stop操作 AVRCP_KEY_PAUSE 0x46 pause操作 AVRCP_KEY_RECORD 0x47 record操作 AVRCP_KEY_REWIND 0x48 将媒体设置为从起始位置开始 AVRCP_KEY_FAST_FORWARD 0x49 设置媒体快进 AVRCP_KEY_FORWARD 0x4B 下一首 AVRCP_KEY_BACKWARD 0x4C 上一首 AVRCP_KEY_INVALID 0x7F 未知操作
avrcp_ct_element_attr_id_t
typedef enum {
AVRCP_CT_ELEMENT_ATTR_TITLE = 0x01,
AVRCP_CT_ELEMENT_ATTR_ARTIST_NAME = 0x02,
AVRCP_CT_ELEMENT_ATTR_ALBUM_NAME = 0x03,
AVRCP_CT_ELEMENT_ATTR_TRACK_NUMBER = 0x04,
AVRCP_CT_ELEMENT_ATTR_TOTAL_NUMBER_OF_TRACKS = 0x05,
AVRCP_CT_ELEMENT_ATTR_TRACK_GENRE = 0x06,
AVRCP_CT_ELEMENT_ATTR_TRACK_PLAYING_TIME = 0x07,
} avrcp_ct_element_attr_id_t;
枚举成员 取值 描述 AVRCP_CT_ELEMENT_ATTR_TITLE 0x01 标题,歌曲名或者内容描述 AVRCP_CT_ELEMENT_ATTR_ARTIST_NAME 0x02 艺人、表演者或团体 AVRCP_CT_ELEMENT_ATTR_ALBUM_NAME 0x03 唱片,专辑 AVRCP_CT_ELEMENT_ATTR_TRACK_NUMBER 0x04 音频文件的原始编号 AVRCP_CT_ELEMENT_ATTR_TOTAL_NUMBER_OF_TRACKS 0x05 tracks/elements的总个数 AVRCP_CT_ELEMENT_ATTR_TRACK_GENRE 0x06 风格,流派 AVRCP_CT_ELEMENT_ATTR_TRACK_PLAYING_TIME 0x07 音频文件的播放时间
avrcp_notify_event_t
typedef enum {
AVRCP_NOTIFY_EVENT_PLAYBACK_STATUS_CHANGED = 0x01,
AVRCP_NOTIFY_EVENT_TRACK_CHANGED = 0x02,
AVRCP_NOTIFY_EVENT_TRACK_REACHED_END = 0x03,
AVRCP_NOTIFY_EVENT_TRACK_REACHED_START = 0x04,
AVRCP_NOTIFY_EVENT_PLAYBACK_POS_CHANGED = 0x05,
AVRCP_NOTIFY_EVENT_BATT_STATUS_CHANGED = 0x06,
AVRCP_NOTIFY_EVENT_SYSTEM_STATUS_CHANGED = 0x07,
AVRCP_NOTIFY_EVENT_PLAYER_APPLICATION_SETTING_CHANGED = 0x08,
AVRCP_NOTIFY_EVENT_NOW_PLAYING_CONTENT_CHANGED = 0x09,
AVRCP_NOTIFY_EVENT_AVAILABLE_PLAYERS_CHANGED = 0x0A,
AVRCP_NOTIFY_EVENT_ADDRESSED_PLAYER_CHANGED = 0x0B,
AVRCP_NOTIFY_EVENT_UIDS_CHANGED = 0x0C,
AVRCP_NOTIFY_EVENT_VOLUME_CHANGED = 0x0D,
AVRCP_NOTIFY_EVENT_RESERVED = 0x0E,
} avrcp_notify_event_t;
枚举成员 取值 描述 AVRCP_NOTIFY_EVENT_PLAYBACK_STATUS_CHANGED 0x01 播放状态变更事件 AVRCP_NOTIFY_EVENT_TRACK_CHANGED 0x02 track状态变更事件 AVRCP_NOTIFY_EVENT_TRACK_REACHED_END 0x03 track结束事件 AVRCP_NOTIFY_EVENT_TRACK_REACHED_START 0x04 track开始事件 AVRCP_NOTIFY_EVENT_PLAYBACK_POS_CHANGED 0x05 播放位置改变事件 AVRCP_NOTIFY_EVENT_BATT_STATUS_CHANGED 0x06 电池状态变更事件 AVRCP_NOTIFY_EVENT_SYSTEM_STATUS_CHANGED 0x07 系统状态变更事件 AVRCP_NOTIFY_EVENT_PLAYER_APPLICATION_SETTING_CHANGED 0x08 播放器配置变更事件 AVRCP_NOTIFY_EVENT_NOW_PLAYING_CONTENT_CHANGED 0x09 播放内容变更事件 AVRCP_NOTIFY_EVENT_AVAILABLE_PLAYERS_CHANGED 0x0A 可使用的播放器变更事件 AVRCP_NOTIFY_EVENT_ADDRESSED_PLAYER_CHANGED 0x0B 播放地址变更事件 AVRCP_NOTIFY_EVENT_UIDS_CHANGED 0x0C UID变更事件 AVRCP_NOTIFY_EVENT_VOLUME_CHANGED 0x0D TG端音量变更事件 AVRCP_NOTIFY_EVENT_RESERVED 0x0E 保留
avrcp_absolute_volume_t
typedef enum {
AVRCP_ABSOLUTE_VOLUME_PERCENTAGE_0 = 0x00,
AVRCP_ABSOLUTE_VOLUME_PERCENTAGE_100 = 0x7F,
AVRCP_ABSOLUTE_VOLUME_INVALID = 0x80,
} avrcp_absolute_volume_t;
枚举成员 取值 描述 AVRCP_ABSOLUTE_VOLUME_PERCENTAGE_0 0x00 绝对音量0% AVRCP_ABSOLUTE_VOLUME_PERCENTAGE_100 0x7F 绝对音量100% AVRCP_ABSOLUTE_VOLUME_INVALID 0x80 无效值
avrcp_play_status_t
typedef enum {
AVRCP_PLAY_STATUS_STOPPED = 0x00,
AVRCP_PLAY_STATUS_PLAYING = 0x01,
AVRCP_PLAY_STATUS_PAUSED = 0x02,
AVRCP_PLAY_STATUS_FWD_SEEK = 0x03,
AVRCP_PLAY_STATUS_REV_SEEK = 0x04,
AVRCP_PLAY_STATUS_ERROR = 0xFF,
} avrcp_play_status_t;
枚举成员 取值 描述 AVRCP_PLAY_STATUS_STOPPED 0x00 AVRCP媒体stopped状态 AVRCP_PLAY_STATUS_PLAYING 0x01 AVRCP媒体playing状态 AVRCP_PLAY_STATUS_PAUSED 0x02 AVRCP媒体Paused状态 AVRCP_PLAY_STATUS_FWD_SEEK 0x03 AVRCP媒体切换下一首 AVRCP_PLAY_STATUS_REV_SEEK 0x04 AVRCP媒体切换上一首 AVRCP_PLAY_STATUS_ERROR 0xFF AVRCP媒体未知状态
avrcp_battery_status_t
typedef enum {
AVRCP_BATTERY_STATUS_NORMAL = 0x00,
AVRCP_BATTERY_STATUS_WARNING = 0x01,
AVRCP_BATTERY_STATUS_CRITICAL = 0x02,
AVRCP_BATTERY_STATUS_EXTERNAL = 0x03,
AVRCP_BATTERY_STATUS_FULL_CHARGE = 0x04,
} avrcp_battery_status_t;
枚举成员 取值 描述 AVRCP_BATTERY_STATUS_NORMAL 0x00 电池的电量处于正常状态 AVRCP_BATTERY_STATUS_WARNING 0x01 电池的电量处于告警状态 AVRCP_BATTERY_STATUS_CRITICAL 0x02 电池的电量处于红色告警状态,不能在使用 AVRCP_BATTERY_STATUS_EXTERNAL 0x03 插接外部电源 AVRCP_BATTERY_STATUS_FULL_CHARGE 0x04 电池已充满电
avrcp_ct_system_status_t
typedef enum {
AVRCP_CT_SYSTEM_STATUS_POWER_ON = 0x00,
AVRCP_CT_SYSTEM_STATUS_POWER_OFF = 0x01,
AVRCP_CT_SYSTEM_STATUS_UNPLUGGED = 0x02,
} avrcp_ct_system_status_t;
枚举成员 取值 描述 AVRCP_CT_SYSTEM_STATUS_POWER_ON 0x00 AVRCP开机事件 AVRCP_CT_SYSTEM_STATUS_POWER_OFF 0x01 AVRCP关机事件 AVRCP_CT_SYSTEM_STATUS_UNPLUGGED 0x02 AVRCP未充电状态
profile_connect_state_t
typedef enum {
PROFILE_STATE_CONNECTING = 0x01,
PROFILE_STATE_CONNECTED = 0x02,
PROFILE_STATE_DISCONNECTING = 0x03,
PROFILE_STATE_DISCONNECTED = 0x04,
} profile_connect_state_t;
枚举成员 取值 描述 PROFILE_STATE_CONNECTING 0x01 正在连接 PROFILE_STATE_CONNECTED 0x02 已连接 PROFILE_STATE_DISCONNECTING 0x03 正在断连 PROFILE_STATE_DISCONNECTED 0x04 已断连
errcode_bt_t
typedef enum {
ERRCODE_BT_SUCCESS = 0x00,
ERRCODE_BT_FAIL = 0x80006000,
ERRCODE_BT_NOT_READY,
ERRCODE_BT_MALLOC_FAIL,
ERRCODE_BT_MEMCPY_FAIL,
ERRCODE_BT_BUSY,
ERRCODE_BT_DONE,
ERRCODE_BT_UNSUPPORTED,
ERRCODE_BT_PARAM_ERR,
ERRCODE_BT_STATE_ERR,
ERRCODE_BT_UNHANDLED,
ERRCODE_BT_AUTH_FAIL,
ERRCODE_BT_RMT_DEV_DOWN,
ERRCODE_BT_AUTH_REJECTED,
ERRCODE_BT_MAX = 0x800067FF,
} errcode_bt_t;
枚举成员 取值 描述 ERRCODE_BT_SUCCESS 0x00 执行成功错误码 ERRCODE_BT_FAIL 0x80006000 执行失败错误码 ERRCODE_BT_NOT_READY 0x80006001 执行状态未就绪错误码 ERRCODE_BT_MALLOC_FAIL 0x80006002 内存不足错误码 ERRCODE_BT_MEMCPY_FAIL 0x80006003 内存拷贝错误错误码 ERRCODE_BT_BUSY 0x80006004 繁忙无法响应错误码 ERRCODE_BT_DONE 0x80006005 执行完成错误码 ERRCODE_BT_UNSUPPORTED 0x80006006 不支持错误码 ERRCODE_BT_PARAM_ERR 0x80006007 无效参数错误码 ERRCODE_BT_STATE_ERR 0x80006008 状态错误 ERRCODE_BT_UNHANDLED 0x80006009 未处理错误码 ERRCODE_BT_AUTH_FAIL 0x8000600A 鉴权失败错误码 ERRCODE_BT_RMT_DEV_DOWN 0x8000600B 远端设备关闭错误码 ERRCODE_BT_AUTH_REJECTED 0x8000600C 鉴权被拒错误码 ERRCODE_BT_MAX 0x800067FF 蓝牙错误码最大值
Structures
bd_addr_t
成员说明:
成员名称 数据类型 描述 addr uint8_t[6] 蓝牙地址 type uint8_t 蓝牙地址类型,参考bt_addr_type
avrcp_ct_get_element_attr_para_t
typedef struct {
unsigned char attr_num;
unsigned int *attr_id_list;
} avrcp_ct_get_element_attr_para_t;
成员说明:
成员名称 数据类型 描述 attr_num unsigned char attribute数量 attr_id_list unsigned int * attribute ID列表,协议规定每个ID占4字节,取值参考avrcp_ct_element_attr_id_t
avrcp_ct_support_company_para_t
typedef struct {
unsigned char company_num;
unsigned int *company_id;
} avrcp_ct_support_company_para_t;
成员说明:
成员名称 数据类型 描述 company_num unsigned char TG支持的company ID的数量 company_id unsigned int * TG支持的company ID列表,协议规定每个ID占3字节,接口这里每个ID分配4字节
avrcp_ct_support_event_para_t
成员说明:
成员名称 数据类型 描述 event_num unsigned char TG支持的event的数量 event_id unsigned char * TG支持的event ID列表,协议规定每个eventId占1个字节,取值参考avrcp_notify_event_t
avrcp_ct_element_attr_value_cb_t
typedef struct {
unsigned int attr_id;
unsigned short character_set_id;
unsigned short value_len;
unsigned char *value;
} avrcp_ct_element_attr_value_cb_t;
成员说明:
成员名称 数据类型 描述 attr_id unsigned int 属性ID character_set_id unsigned short 字符集ID value_len unsigned short 属性名称的长度,0-65535,缺省默认0值 value unsigned char * 属性名称
avrcp_ct_element_attr_para_cb_t
typedef struct {
unsigned char attr_num;
avrcp_ct_element_attr_value_cb_t *attr_value;
} avrcp_ct_element_attr_para_cb_t;
成员说明:
成员名称 数据类型 描述 attr_num unsigned char TG返回的attribute数量,1-255 attr_value avrcp_ct_element_attr_value_cb_t * 属性信息,根据attr_num大小动态分配空间
avrcp_ct_addressed_player_changed_cb_t
typedef struct {
unsigned short player_id;
unsigned short uid_counter;
} avrcp_ct_addressed_player_changed_cb_t;
成员说明:
成员名称 数据类型 描述 player_id unsigned short 播放器的id uid_counter unsigned short UID计数
avrcp_ct_play_status_cb_t
typedef struct {
unsigned int song_length;
unsigned int song_position;
avrcp_play_status_t play_status;
} avrcp_ct_play_status_cb_t;
成员说明:
成员名称 数据类型 描述 song_length unsigned int 歌曲的播放时间,单位ms song_position unsigned int 歌曲已经播放的时间,单位ms play_status avrcp_play_status_t 歌曲的播放状态
avrcp_ct_callbacks_t
typedef struct {
avrcp_ct_conn_state_changed_callback conn_state_changed_cb;
avrcp_ct_press_button_response_callback press_button_cb;
avrcp_ct_release_button_response_callback release_button_cb;
avrcp_ct_supported_companies_callback supported_companies_cb;
avrcp_ct_supported_event_callback supported_event_cb;
avrcp_ct_get_element_attribute_callback element_attr_cb;
avrcp_ct_get_play_status_callback play_status_cb;
avrcp_ct_notification_callback notification_cb;
} avrcp_ct_callbacks_t;
成员说明:
成员名称 数据类型 描述 conn_state_changed_cb avrcp_ct_conn_state_changed_callback AVRCP连接状态更新回调 press_button_cb avrcp_ct_press_button_response_callback 收到TG的press button响应回调 release_button_cb avrcp_ct_release_button_response_callback 收到TG的release button响应回调 supported_companies_cb avrcp_ct_supported_companies_callback 收到TG支持的company列表回调 supported_event_cb avrcp_ct_supported_event_callback 收到TG支持的event列表回调 element_attr_cb avrcp_ct_get_element_attribute_callback 收到TG的GetElementAttributes响应回调 play_status_cb avrcp_ct_get_play_status_callback 收到TG的GetPlayStatus响应回调 notification_cb avrcp_ct_notification_callback 收到TG的Notification回调