12#ifndef BTS_AVRCP_CONTROLLER_H
13#define BTS_AVRCP_CONTROLLER_H
int avrcp_ct_get_supported_companies(const bd_addr_t *bd_addr)
获取TG端支持的公司列表。
avrcp_battery_status_t
AVRCP电量状态,在结构 avrcp_ct_notification_value_cb_t 中使用。 与 AVRCP_NOTIFY_EVENT_BATT_STATUS_CHANGED 对应。
Definition bts_avrcp_controller.h:148
avrcp_absolute_volume_t
定义绝对音量范围,有效的取值范围[0x00, 0x7F],表示0%~100。 参考Audio/Video Remote Control 1.6.2 Section 6....
Definition bts_avrcp_controller.h:115
int avrcp_ct_disconnect(const bd_addr_t *bd_addr)
断开与TG的连接。
void(* avrcp_ct_release_button_response_callback)(const bd_addr_t *bd_addr, int key_operation)
收到来自TG的release button响应时回调函数。
Definition bts_avrcp_controller.h:384
void(* avrcp_ct_press_button_response_callback)(const bd_addr_t *bd_addr, int key_operation)
收到来自TG的press button响应时回调函数。
Definition bts_avrcp_controller.h:357
int avrcp_ct_connect(const bd_addr_t *bd_addr)
与对端设备建立avrcp连接。
int avrcp_ct_set_absolute_volume(const bd_addr_t *bd_addr, unsigned char volume)
设置TG端的绝对音量。
int avrcp_ct_register_callbacks(avrcp_ct_callbacks_t *func)
注册Avrcp CT回调函数。
int avrcp_ct_press_button(const bd_addr_t *bd_addr, int key_operation)
通知TG端CT已经按下button。
int avrcp_ct_register_notification(const bd_addr_t *bd_addr, unsigned char event_id, unsigned int interval)
将TG端支持的事件注册成功后,如果该事件改变会自动通知到CT端。
int avrcp_ct_get_device_connect_state(const bd_addr_t *bd_addr)
通过设备地址查询设备avrcp连接状态。
void(* avrcp_ct_notification_callback)(const bd_addr_t *bd_addr, avrcp_notify_event_t event_id, avrcp_ct_notification_value_cb_t *notification)
收到来自TG返回的Notification时回调函数。
Definition bts_avrcp_controller.h:528
avrcp_play_status_t
AVRCP媒体播放状态。
Definition bts_avrcp_controller.h:131
avrcp_key_operation_t
AVRCP的按键操作,取值的定义来自于规范:1394 Trade Association。
Definition bts_avrcp_controller.h:28
avrcp_ct_element_attr_id_t
AVRCP元素属性ID,在 avrcp_ct_get_element_attr_para_t
Definition bts_avrcp_controller.h:54
void(* avrcp_ct_get_element_attribute_callback)(const bd_addr_t *bd_addr, avrcp_ct_element_attr_para_cb_t *attr_cb_para)
收到来自TG返回的GetElementAttributes响应时回调函数。
Definition bts_avrcp_controller.h:466
int avrcp_ct_get_play_status(const bd_addr_t *bd_addr)
获取TG端媒体的播放状态信息。
int avrcp_ct_get_supported_events(const bd_addr_t *bd_addr)
获取TG端支持的事件列表。
int avrcp_ct_release_button(const bd_addr_t *bd_addr, int key_operation)
通知TG端CT已经释放button。
void(* avrcp_ct_conn_state_changed_callback)(const bd_addr_t *bd_addr, profile_connect_state_t state)
avrcp ct 连接状态更新回调函数。
Definition bts_avrcp_controller.h:328
void(* avrcp_ct_supported_companies_callback)(const bd_addr_t *bd_addr, avrcp_ct_support_company_para_t *company)
收到来自TG的支持的company列表时回调函数。
Definition bts_avrcp_controller.h:411
avrcp_notify_event_t
定义notification事件对应的"EventIDs", 在接口 avrcp_ct_register_notification 中使用,参考Audio/Video Remote Control 1....
Definition bts_avrcp_controller.h:79
int avrcp_ct_get_element_attributes(const bd_addr_t *bd_addr, const avrcp_ct_get_element_attr_para_t *param)
获取TG端支持的属性列表,比如歌曲标题,专辑、艺术风格,年份和作曲家等。
void(* avrcp_ct_get_play_status_callback)(const bd_addr_t *bd_addr, avrcp_ct_play_status_cb_t *status)
收到来自TG返回的GetPlayStatus响应时回调函数。
Definition bts_avrcp_controller.h:494
void(* avrcp_ct_supported_event_callback)(const bd_addr_t *bd_addr, avrcp_ct_support_event_para_t *event)
收到来自TG的支持的event列表时回调函数。
Definition bts_avrcp_controller.h:439
avrcp_ct_system_status_t
AVRCP系统状态,在结构 avrcp_ct_notification_value_cb_t 中使用。 与 AVRCP_NOTIFY_EVENT_SYSTEM_STATUS_CHANGED 对应。
Definition bts_avrcp_controller.h:168
@ AVRCP_BATTERY_STATUS_CRITICAL
Definition bts_avrcp_controller.h:153
@ AVRCP_BATTERY_STATUS_FULL_CHARGE
Definition bts_avrcp_controller.h:156
@ AVRCP_BATTERY_STATUS_EXTERNAL
Definition bts_avrcp_controller.h:155
@ AVRCP_BATTERY_STATUS_WARNING
Definition bts_avrcp_controller.h:151
@ AVRCP_BATTERY_STATUS_NORMAL
Definition bts_avrcp_controller.h:149
@ AVRCP_ABSOLUTE_VOLUME_PERCENTAGE_0
Definition bts_avrcp_controller.h:117
@ AVRCP_ABSOLUTE_VOLUME_INVALID
Definition bts_avrcp_controller.h:121
@ AVRCP_ABSOLUTE_VOLUME_PERCENTAGE_100
Definition bts_avrcp_controller.h:119
@ AVRCP_PLAY_STATUS_STOPPED
Definition bts_avrcp_controller.h:132
@ AVRCP_PLAY_STATUS_PAUSED
Definition bts_avrcp_controller.h:134
@ AVRCP_PLAY_STATUS_PLAYING
Definition bts_avrcp_controller.h:133
@ AVRCP_PLAY_STATUS_ERROR
Definition bts_avrcp_controller.h:137
@ AVRCP_PLAY_STATUS_REV_SEEK
Definition bts_avrcp_controller.h:136
@ AVRCP_PLAY_STATUS_FWD_SEEK
Definition bts_avrcp_controller.h:135
@ AVRCP_KEY_FORWARD
Definition bts_avrcp_controller.h:40
@ AVRCP_KEY_RECORD
Definition bts_avrcp_controller.h:35
@ AVRCP_KEY_BACKWARD
Definition bts_avrcp_controller.h:42
@ AVRCP_KEY_VOLUME_UP
Definition bts_avrcp_controller.h:29
@ AVRCP_KEY_VOLUME_DOWN
Definition bts_avrcp_controller.h:30
@ AVRCP_KEY_PLAY
Definition bts_avrcp_controller.h:32
@ AVRCP_KEY_INVALID
Definition bts_avrcp_controller.h:44
@ AVRCP_KEY_REWIND
Definition bts_avrcp_controller.h:36
@ AVRCP_KEY_FAST_FORWARD
Definition bts_avrcp_controller.h:38
@ AVRCP_KEY_PAUSE
Definition bts_avrcp_controller.h:34
@ AVRCP_KEY_MUTE
Definition bts_avrcp_controller.h:31
@ AVRCP_KEY_STOP
Definition bts_avrcp_controller.h:33
@ AVRCP_CT_ELEMENT_ATTR_TRACK_GENRE
Definition bts_avrcp_controller.h:65
@ AVRCP_CT_ELEMENT_ATTR_TRACK_PLAYING_TIME
Definition bts_avrcp_controller.h:66
@ AVRCP_CT_ELEMENT_ATTR_TITLE
Definition bts_avrcp_controller.h:55
@ AVRCP_CT_ELEMENT_ATTR_ARTIST_NAME
Definition bts_avrcp_controller.h:57
@ AVRCP_CT_ELEMENT_ATTR_ALBUM_NAME
Definition bts_avrcp_controller.h:60
@ AVRCP_CT_ELEMENT_ATTR_TRACK_NUMBER
Definition bts_avrcp_controller.h:61
@ AVRCP_CT_ELEMENT_ATTR_TOTAL_NUMBER_OF_TRACKS
Definition bts_avrcp_controller.h:63
@ AVRCP_NOTIFY_EVENT_SYSTEM_STATUS_CHANGED
Definition bts_avrcp_controller.h:89
@ AVRCP_NOTIFY_EVENT_VOLUME_CHANGED
Definition bts_avrcp_controller.h:101
@ AVRCP_NOTIFY_EVENT_ADDRESSED_PLAYER_CHANGED
Definition bts_avrcp_controller.h:97
@ AVRCP_NOTIFY_EVENT_PLAYER_APPLICATION_SETTING_CHANGED
Definition bts_avrcp_controller.h:91
@ AVRCP_NOTIFY_EVENT_TRACK_REACHED_START
Definition bts_avrcp_controller.h:84
@ AVRCP_NOTIFY_EVENT_RESERVED
Definition bts_avrcp_controller.h:103
@ AVRCP_NOTIFY_EVENT_BATT_STATUS_CHANGED
Definition bts_avrcp_controller.h:87
@ AVRCP_NOTIFY_EVENT_PLAYBACK_STATUS_CHANGED
Definition bts_avrcp_controller.h:80
@ AVRCP_NOTIFY_EVENT_NOW_PLAYING_CONTENT_CHANGED
Definition bts_avrcp_controller.h:93
@ AVRCP_NOTIFY_EVENT_PLAYBACK_POS_CHANGED
Definition bts_avrcp_controller.h:85
@ AVRCP_NOTIFY_EVENT_TRACK_REACHED_END
Definition bts_avrcp_controller.h:83
@ AVRCP_NOTIFY_EVENT_AVAILABLE_PLAYERS_CHANGED
Definition bts_avrcp_controller.h:95
@ AVRCP_NOTIFY_EVENT_UIDS_CHANGED
Definition bts_avrcp_controller.h:99
@ AVRCP_NOTIFY_EVENT_TRACK_CHANGED
Definition bts_avrcp_controller.h:82
@ AVRCP_CT_SYSTEM_STATUS_POWER_OFF
Definition bts_avrcp_controller.h:170
@ AVRCP_CT_SYSTEM_STATUS_POWER_ON
Definition bts_avrcp_controller.h:169
@ AVRCP_CT_SYSTEM_STATUS_UNPLUGGED
Definition bts_avrcp_controller.h:171
profile_connect_state_t
定义蓝牙协议的连接状态。
Definition bts_br_gap.h:182
TG返回的Addressed Player Changed notification响应数据,在结构 avrcp_ct_notification_value_cb_t 中使用。
Definition bts_avrcp_controller.h:254
unsigned short uid_counter
Definition bts_avrcp_controller.h:257
unsigned short player_id
Definition bts_avrcp_controller.h:255
Avrcp CT回调函数接口定义。
Definition bts_avrcp_controller.h:538
avrcp_ct_notification_callback notification_cb
Definition bts_avrcp_controller.h:546
avrcp_ct_press_button_response_callback press_button_cb
Definition bts_avrcp_controller.h:540
avrcp_ct_release_button_response_callback release_button_cb
Definition bts_avrcp_controller.h:541
avrcp_ct_supported_event_callback supported_event_cb
Definition bts_avrcp_controller.h:543
avrcp_ct_supported_companies_callback supported_companies_cb
Definition bts_avrcp_controller.h:542
avrcp_ct_get_element_attribute_callback element_attr_cb
Definition bts_avrcp_controller.h:544
avrcp_ct_conn_state_changed_callback conn_state_changed_cb
Definition bts_avrcp_controller.h:539
avrcp_ct_get_play_status_callback play_status_cb
Definition bts_avrcp_controller.h:545
TG返回的GetElementAttributes响应参数,在接口 AvrcpCtGetElementAttributeCallback 中使用。
Definition bts_avrcp_controller.h:239
unsigned char attr_num
Definition bts_avrcp_controller.h:240
avrcp_ct_element_attr_value_cb_t * attr_value
Definition bts_avrcp_controller.h:242
TG返回的attribute值,参考Audio/Video Remote Control 1.6.2 Section 6.6.1 Table 6.27。
Definition bts_avrcp_controller.h:221
unsigned int attr_id
Definition bts_avrcp_controller.h:222
unsigned char * value
Definition bts_avrcp_controller.h:228
unsigned short character_set_id
Definition bts_avrcp_controller.h:224
unsigned short value_len
Definition bts_avrcp_controller.h:226
待获取值的element attribute列表,在结构 avrcp_ct_get_element_attributes 中使用。
Definition bts_avrcp_controller.h:181
unsigned char attr_num
Definition bts_avrcp_controller.h:182
unsigned int * attr_id_list
Definition bts_avrcp_controller.h:183
TG返回的播放状态响应数据,在接口 AvrcpCtGetPlayStatusCallback 中使用。
Definition bts_avrcp_controller.h:269
avrcp_play_status_t play_status
Definition bts_avrcp_controller.h:274
unsigned int song_length
Definition bts_avrcp_controller.h:270
unsigned int song_position
Definition bts_avrcp_controller.h:272
获取到的TG支持的company,在结构 AvrcpCtSupportedCompaniesCallback 中使用。
Definition bts_avrcp_controller.h:194
unsigned int * company_id
Definition bts_avrcp_controller.h:196
unsigned char company_num
Definition bts_avrcp_controller.h:195
获取到的TG支持的Event,协议规定 avrcp_notify_event_t 中的0x01和0x02是强制支持的 eventNum取值最小为2在结构 AvrcpCtSupportedCompanie...
Definition bts_avrcp_controller.h:208
unsigned char * event_id
Definition bts_avrcp_controller.h:210
unsigned char event_num
Definition bts_avrcp_controller.h:209
定义设备的蓝牙地址。
Definition bts_def.h:140
TG发送Notification的值,在接口 AvrcpCtNotificationCallback 中使用。
Definition bts_avrcp_controller.h:285
avrcp_ct_system_status_t system_status
Definition bts_avrcp_controller.h:293
unsigned char volume
Definition bts_avrcp_controller.h:298
avrcp_play_status_t play_status
Definition bts_avrcp_controller.h:286
avrcp_battery_status_t battery_status
Definition bts_avrcp_controller.h:292
unsigned short uid_counter
Definition bts_avrcp_controller.h:297
unsigned long long identifier
Definition bts_avrcp_controller.h:287
unsigned int playback_position
Definition bts_avrcp_controller.h:291
avrcp_ct_addressed_player_changed_cb_t addressed_player
Definition bts_avrcp_controller.h:296