hf
头文件清单
#include "include/middleware/services/bts/br/bts_hfp_hf.h"
#include "include/middleware/services/bts/common/bts_def.h"
#include "include/middleware/services/bts/br/bts_br_gap.h"
接口清单
接口名称 功能简述 hfp_hf_connect 建立与AG的SLC(service level connection) hfp_hf_disconnect 释放与AG的SLC(service level connection) hfp_hf_connect_sco 建立与AG的音频连接 hfp_hf_disconnect_sco 断开与AG的音频连接 hfp_hf_get_device_connect_state 查询设备HFP连接状态 hfp_hf_get_sco_connect_state 查询设备HFP SCO连接状态 hfp_hf_send_dtmf_tone 指示AG发送DTMF tone code hfp_hf_open_voice_recognition 指示AG打开语音识别功能 hfp_hf_close_voice_recognition 指示AG关闭语音识别功能 hfp_hf_accept_incoming_call 接听呼入电话 hfp_hf_hold_active_call 将当前激活状态的通话保持 hfp_hf_reject_incoming_call 拒接呼入电话 hfp_hf_finish_call 结束通话 hfp_hf_start_dial 发起主叫 hfp_hf_set_volume HF端发起音量调整 hfp_hf_register_callbacks 注册上层应用的回调
Functions
hfp_hf_connect
头文件清单
功能说明
- 建立与AG的SLC(service level connection)
- 该接口运行于bts线程,不能阻塞或长时间等待
由bts申请内存,也由bts释放,回调中不应释放
前置条件
- 蓝牙协议栈已通过enable_bt_stack()初始化完成
- bd_addr不为NULL,且指向有效的远端蓝牙设备地址
入参
名称 参数类型 详细说明 约束取值范围 bd_addr const bd_addr_t * 对端蓝牙设备的地址信息 不为NULL
返回值
- 返回类型:int
返回值 文字含义 触发场景 ERRCODE_BT_SUCCESS(0x00) 执行成功 请求成功发起 Other 其他错误码,参考errcode_bt_t 执行失败
hfp_hf_disconnect
头文件清单
功能说明
- 释放与AG的SLC(service level connection)
- 该接口运行于bts线程,不能阻塞或长时间等待
由bts申请内存,也由bts释放,回调中不应释放
前置条件
- 蓝牙协议栈已通过enable_bt_stack()初始化完成
- bd_addr不为NULL,且指向有效的远端蓝牙设备地址
入参
名称 参数类型 详细说明 约束取值范围 bd_addr const bd_addr_t * 对端蓝牙设备的地址信息 不为NULL
返回值
- 返回类型:int
返回值 文字含义 触发场景 ERRCODE_BT_SUCCESS(0x00) 执行成功 请求成功发起 Other 其他错误码,参考errcode_bt_t 执行失败
hfp_hf_connect_sco
头文件清单
功能说明
- 建立与AG的音频连接
- 该接口运行于bts线程,不能阻塞或长时间等待
由bts申请内存,也由bts释放,回调中不应释放
前置条件
- 蓝牙协议栈已通过enable_bt_stack()初始化完成
- 与AG的HFP SLC已建立
- bd_addr不为NULL,且指向有效的远端蓝牙设备地址
入参
名称 参数类型 详细说明 约束取值范围 bd_addr const bd_addr_t * 对端蓝牙设备的地址信息 不为NULL
返回值
- 返回类型:int
返回值 文字含义 触发场景 ERRCODE_BT_SUCCESS(0x00) 执行成功 请求成功发起 Other 其他错误码,参考errcode_bt_t 执行失败
hfp_hf_disconnect_sco
头文件清单
功能说明
- 断开与AG的音频连接
- 该接口运行于bts线程,不能阻塞或长时间等待
由bts申请内存,也由bts释放,回调中不应释放
前置条件
- 蓝牙协议栈已通过enable_bt_stack()初始化完成
- 与AG的SCO音频连接已建立
- bd_addr不为NULL,且指向有效的远端蓝牙设备地址
入参
名称 参数类型 详细说明 约束取值范围 bd_addr const bd_addr_t * 对端蓝牙设备的地址信息 不为NULL
返回值
- 返回类型:int
返回值 文字含义 触发场景 ERRCODE_BT_SUCCESS(0x00) 执行成功 请求成功发起 Other 其他错误码,参考errcode_bt_t 执行失败
hfp_hf_get_device_connect_state
头文件清单
功能说明
- 通过设备地址查询设备HFP连接状态
- 该接口运行于bts线程,不能阻塞或长时间等待
由bts申请内存,也由bts释放,回调中不应释放
前置条件
- 蓝牙协议栈已通过enable_bt_stack()初始化完成
- bd_addr不为NULL,且指向有效的远端蓝牙设备地址
入参
名称 参数类型 详细说明 约束取值范围 bd_addr const bd_addr_t * 对端蓝牙设备的地址信息 不为NULL
返回值
- 返回类型:int(profile_connect_state_t)
返回值 文字含义 触发场景 PROFILE_STATE_CONNECTING(0x01) 正在连接 正在建立连接 PROFILE_STATE_CONNECTED(0x02) 已连接 连接已建立 PROFILE_STATE_DISCONNECTING(0x03) 正在断连 正在断开连接 PROFILE_STATE_DISCONNECTED(0x04) 已断连 连接已断开
hfp_hf_get_sco_connect_state
头文件清单
功能说明
- 通过设备地址查询设备HFP SCO连接状态
- 该接口运行于bts线程,不能阻塞或长时间等待
由bts申请内存,也由bts释放,回调中不应释放
前置条件
- 蓝牙协议栈已通过enable_bt_stack()初始化完成
- bd_addr不为NULL,且指向有效的远端蓝牙设备地址
入参
名称 参数类型 详细说明 约束取值范围 bd_addr const bd_addr_t * 对端蓝牙设备的地址信息 不为NULL
返回值
- 返回类型:int(hfp_sco_connect_state_t)
返回值 文字含义 触发场景 HFP_SCO_STATE_CONNECTING(0x01) SCO正在连接 正在建立SCO连接 HFP_SCO_STATE_CONNECTED(0x02) SCO已连接 SCO连接已建立 HFP_SCO_STATE_DISCONNECTING(0x03) SCO正在断连 正在断开SCO连接 HFP_SCO_STATE_DISCONNECTED(0x04) SCO已断连 SCO连接已断开
hfp_hf_send_dtmf_tone
头文件清单
功能说明
- 指示AG发送DTMF tone code
- 该接口运行于bts线程,不能阻塞或长时间等待
由bts申请内存,也由bts释放,回调中不应释放
前置条件
- 蓝牙协议栈已通过enable_bt_stack()初始化完成
- 与AG的HFP SLC已建立
- bd_addr不为NULL,且指向有效的远端蓝牙设备地址
入参
名称 参数类型 详细说明 约束取值范围 bd_addr const bd_addr_t * 对端蓝牙设备的地址信息 不为NULL code unsigned char DTMF tone对应的字符 ASCII字符
返回值
- 返回类型:int
返回值 文字含义 触发场景 ERRCODE_BT_SUCCESS(0x00) 执行成功 请求成功发起 Other 其他错误码,参考errcode_bt_t 执行失败
hfp_hf_open_voice_recognition
头文件清单
功能说明
- 指示AG打开语音识别功能
- 该接口运行于bts线程,不能阻塞或长时间等待
由bts申请内存,也由bts释放,回调中不应释放
前置条件
- 蓝牙协议栈已通过enable_bt_stack()初始化完成
- 与AG的HFP SLC已建立
- bd_addr不为NULL,且指向有效的远端蓝牙设备地址
入参
名称 参数类型 详细说明 约束取值范围 bd_addr const bd_addr_t * 对端蓝牙设备的地址信息 不为NULL
返回值
- 返回类型:int
返回值 文字含义 触发场景 ERRCODE_BT_SUCCESS(0x00) 执行成功 请求成功发起 Other 其他错误码,参考errcode_bt_t 执行失败
hfp_hf_close_voice_recognition
头文件清单
功能说明
- 指示AG关闭语音识别功能
- 该接口运行于bts线程,不能阻塞或长时间等待
由bts申请内存,也由bts释放,回调中不应释放
前置条件
- 蓝牙协议栈已通过enable_bt_stack()初始化完成
- 与AG的HFP SLC已建立
- bd_addr不为NULL,且指向有效的远端蓝牙设备地址
入参
名称 参数类型 详细说明 约束取值范围 bd_addr const bd_addr_t * 对端蓝牙设备的地址信息 不为NULL
返回值
- 返回类型:int
返回值 文字含义 触发场景 ERRCODE_BT_SUCCESS(0x00) 执行成功 请求成功发起 Other 其他错误码,参考errcode_bt_t 执行失败
hfp_hf_accept_incoming_call
int hfp_hf_accept_incoming_call(const bd_addr_t *bd_addr, hfp_hf_accept_call_action_type_t action_type)
头文件清单
功能说明
- 接听呼入电话
- 该接口运行于bts线程,不能阻塞或长时间等待
由bts申请内存,也由bts释放,回调中不应释放
前置条件
- 蓝牙协议栈已通过enable_bt_stack()初始化完成
- 与AG的HFP SLC已建立
- bd_addr不为NULL,且指向有效的远端蓝牙设备地址
入参
名称 参数类型 详细说明 约束取值范围 bd_addr const bd_addr_t * 对端蓝牙设备的地址信息 不为NULL action_type hfp_hf_accept_call_action_type_t 接受呼叫时对其他呼叫的操作策略 HFP_HF_ACCEPT_CALL_ACTION_NONE(0x00) / HFP_HF_ACCEPT_CALL_ACTION_HOLD(0x01) / HFP_HF_ACCEPT_CALL_ACTION_FINISH(0x02)
返回值
- 返回类型:int
返回值 文字含义 触发场景 ERRCODE_BT_SUCCESS(0x00) 执行成功 请求成功发起 Other 其他错误码,参考errcode_bt_t 执行失败
hfp_hf_hold_active_call
头文件清单
功能说明
- 将当前通话状态是激活状态的通话保持
- 该接口运行于bts线程,不能阻塞或长时间等待
由bts申请内存,也由bts释放,回调中不应释放
前置条件
- 蓝牙协议栈已通过enable_bt_stack()初始化完成
- 与AG的HFP SLC已建立
- bd_addr不为NULL,且指向有效的远端蓝牙设备地址
入参
名称 参数类型 详细说明 约束取值范围 bd_addr const bd_addr_t * 对端蓝牙设备的地址信息 不为NULL
返回值
- 返回类型:int
返回值 文字含义 触发场景 ERRCODE_BT_SUCCESS(0x00) 执行成功 请求成功发起 Other 其他错误码,参考errcode_bt_t 执行失败
hfp_hf_reject_incoming_call
头文件清单
功能说明
- 拒接呼入电话
- 该接口运行于bts线程,不能阻塞或长时间等待
由bts申请内存,也由bts释放,回调中不应释放
前置条件
- 蓝牙协议栈已通过enable_bt_stack()初始化完成
- 与AG的HFP SLC已建立
- bd_addr不为NULL,且指向有效的远端蓝牙设备地址
入参
名称 参数类型 详细说明 约束取值范围 bd_addr const bd_addr_t * 对端蓝牙设备的地址信息 不为NULL
返回值
- 返回类型:int
返回值 文字含义 触发场景 ERRCODE_BT_SUCCESS(0x00) 执行成功 请求成功发起 Other 其他错误码,参考errcode_bt_t 执行失败
hfp_hf_finish_call
头文件清单
功能说明
- 结束通话
- 该接口用于结束正在进行和正在呼出的电话,但不能用于拒接呼入电话,拒接呼入电话请使用hfp_hf_reject_incoming_call接口
- 该接口运行于bts线程,不能阻塞或长时间等待
由bts申请内存,也由bts释放,回调中不应释放
前置条件
- 蓝牙协议栈已通过enable_bt_stack()初始化完成
- 与AG的HFP SLC已建立
- bd_addr不为NULL,且指向有效的远端蓝牙设备地址
入参
名称 参数类型 详细说明 约束取值范围 bd_addr const bd_addr_t * 对端蓝牙设备的地址信息 不为NULL
返回值
- 返回类型:int
返回值 文字含义 触发场景 ERRCODE_BT_SUCCESS(0x00) 执行成功 请求成功发起 Other 其他错误码,参考errcode_bt_t 执行失败
hfp_hf_start_dial
头文件清单
功能说明
- 发起主叫,发送"ATDdd...dd;"指令,例如拨号123456,则指令为"ATD123456;"
- 该接口运行于bts线程,不能阻塞或长时间等待
由bts申请内存,也由bts释放,回调中不应释放
前置条件
- 蓝牙协议栈已通过enable_bt_stack()初始化完成
- 与AG的HFP SLC已建立
- bd_addr不为NULL,且指向有效的远端蓝牙设备地址
- number不为NULL,且指向有效的电话号码字符串
入参
名称 参数类型 详细说明 约束取值范围 bd_addr const bd_addr_t * 对端蓝牙设备的地址信息 不为NULL number const unsigned char * 电话号码 不为NULL len unsigned char 电话号码长度 大于0
返回值
- 返回类型:int
返回值 文字含义 触发场景 ERRCODE_BT_SUCCESS(0x00) 执行成功 请求成功发起 Other 其他错误码,参考errcode_bt_t 执行失败
hfp_hf_set_volume
头文件清单
功能说明
- HF端发起音量调整
- 该接口运行于bts线程,不能阻塞或长时间等待
由bts申请内存,也由bts释放,回调中不应释放
前置条件
- 蓝牙协议栈已通过enable_bt_stack()初始化完成
- 与AG的HFP SLC已建立
- bd_addr不为NULL,且指向有效的远端蓝牙设备地址
入参
名称 参数类型 详细说明 约束取值范围 bd_addr const bd_addr_t * 对端蓝牙设备的地址信息 不为NULL type hfp_volume_type_t 调整HF音量类型 HFP_VOLUME_MIC(0x00) / HFP_VOLUME_SPEAKER(0x01) volume unsigned char 音量增益 0-15
返回值
- 返回类型:int
返回值 文字含义 触发场景 ERRCODE_BT_SUCCESS(0x00) 执行成功 请求成功发起 Other 其他错误码,参考errcode_bt_t 执行失败
hfp_hf_register_callbacks
头文件清单
功能说明
- 注册上层应用的回调函数
- 该接口运行于bts线程,不能阻塞或长时间等待
由bts申请内存,也由bts释放,回调中不应释放
前置条件
- 蓝牙协议栈已通过enable_bt_stack()初始化完成
- func不为NULL,且指向有效的回调函数结构体
入参
名称 参数类型 详细说明 约束取值范围 func hfp_hf_callbacks_t * 指向回调函数接口定义的指针 不为NULL
返回值
- 返回类型:int
返回值 文字含义 触发场景 ERRCODE_BT_SUCCESS(0x00) 执行成功 请求成功发起 Other 其他错误码,参考errcode_bt_t 执行失败
Type definitions
bt_uuid_t
使用说明:在hfp_hf_calls_info_t结构体中作为uuid成员的类型,标识电话服务UUID
hfp_hf_conn_state_changed_callback
typedef void (*hfp_hf_conn_state_changed_callback)(const bd_addr_t *bd_addr, profile_connect_state_t state);
使用说明:在hfp_hf_callbacks_t结构体中作为conn_state_changed_cb成员的类型,HFP连接状态变化时由BTS回调
hfp_hf_sco_conn_state_changed_callback
typedef void (*hfp_hf_sco_conn_state_changed_callback)(const bd_addr_t *bd_addr, hfp_sco_connect_state_t state);
使用说明:在hfp_hf_callbacks_t结构体中作为sco_conn_state_changed_cb成员的类型,SCO连接状态变化时由BTS回调
hfp_hf_battery_level_changed_callback
使用说明:在hfp_hf_callbacks_t结构体中作为battery_level_changed_cb成员的类型,AG电量变化时由BTS回调
hfp_hf_signal_strength_changed_callback
typedef void (*hfp_hf_signal_strength_changed_callback)(const bd_addr_t *bd_addr, int signal_strength);
使用说明:在hfp_hf_callbacks_t结构体中作为signal_strength_changed_cb成员的类型,AG信号强度变化时由BTS回调
hfp_hf_registration_status_changed_callback
使用说明:在hfp_hf_callbacks_t结构体中作为registration_status_changed_cb成员的类型,AG注册状态变化时由BTS回调
hfp_hf_roaming_status_changed_callback
使用说明:在hfp_hf_callbacks_t结构体中作为roaming_status_changed_cb成员的类型,AG漫游状态变化时由BTS回调
hfp_hf_operator_selection_callback
typedef void (*hfp_hf_operator_selection_callback)(const bd_addr_t *bd_addr, unsigned char *name, unsigned int len);
使用说明:在hfp_hf_callbacks_t结构体中作为operator_selection_cb成员的类型,查询AG运营商信息收到回复时由BTS回调
hfp_hf_subscriber_number_callback
typedef void (*hfp_hf_subscriber_number_callback)(const bd_addr_t *bd_addr, unsigned char *number, unsigned int len);
使用说明:在hfp_hf_callbacks_t结构体中作为subscriber_number_cb成员的类型,查询AG用户号码收到回复时由BTS回调
hfp_hf_voice_recognition_status_changed_callback
typedef void (*hfp_hf_voice_recognition_status_changed_callback)(const bd_addr_t *bd_addr, int status);
使用说明:在hfp_hf_callbacks_t结构体中作为voice_recognition_status_changed_cb成员的类型,语音识别状态变化时由BTS回调
hfp_hf_in_band_ring_tone_changed_callback
使用说明:在hfp_hf_callbacks_t结构体中作为in_band_ring_tone_changed_cb成员的类型,带内铃声状态变化时由BTS回调
hfp_hf_volume_changed_callback
typedef void (*hfp_hf_volume_changed_callback)(const bd_addr_t *bd_addr, hfp_volume_type_t type, unsigned char volume);
使用说明:在hfp_hf_callbacks_t结构体中作为volume_changed_cb成员的类型,AG端调整HF音量时由BTS回调
hfp_hf_call_changed_callback
typedef void (*hfp_hf_call_changed_callback)(const bd_addr_t *bd_addr, const hfp_hf_calls_info_t *call);
使用说明:在hfp_hf_callbacks_t结构体中作为call_changed_cb成员的类型,通话状态变化时由BTS回调
hfp_hf_dial_error_code_callback
使用说明:在hfp_hf_callbacks_t结构体中作为dial_error_code_cb成员的类型,拨号失败时由BTS回调
hfp_hf_codec_changed_callback
使用说明:在hfp_hf_callbacks_t结构体中作为codec_changed_cb成员的类型,codec编码格式变化时由BTS回调
Enumerations
hfp_hf_accept_call_action_type_t
typedef enum {
HFP_HF_ACCEPT_CALL_ACTION_NONE = 0x00, /*!< 接受呼叫后无操作 */
HFP_HF_ACCEPT_CALL_ACTION_HOLD = 0x01, /*!< 接受呼叫保持当前通话 */
HFP_HF_ACCEPT_CALL_ACTION_FINISH = 0x02 /*!< 接受呼叫后结束当前通话 */
} hfp_hf_accept_call_action_type_t;
枚举成员 取值 描述 HFP_HF_ACCEPT_CALL_ACTION_NONE 0x00 接受呼叫后无操作 HFP_HF_ACCEPT_CALL_ACTION_HOLD 0x01 接受呼叫保持当前通话 HFP_HF_ACCEPT_CALL_ACTION_FINISH 0x02 接受呼叫后结束当前通话
hfp_hf_call_state_t
typedef enum {
HFP_HF_CALL_STATE_ACTIVE = 0, /*!< HFP HF正在通话 */
HFP_HF_CALL_STATE_HELD, /*!< HFP HF呼叫保持通话 */
HFP_HF_CALL_STATE_DIALING, /*!< HFP HF呼叫正在拨号 */
HFP_HF_CALL_STATE_ALERTING, /*!< HFP HF呼叫正在响铃 */
HFP_HF_CALL_STATE_INCOMING, /*!< HFP HF呼叫接入 */
HFP_HF_CALL_STATE_WAITING, /*!< HFP HF呼叫等待 */
HFP_HF_CALL_STATE_RESPONSE_HELD, /*!< HFP HF呼叫响应保持 */
HFP_HF_CALL_STATE_FINISHED /*!< HFP HF呼叫结束 */
} hfp_hf_call_state_t;
枚举成员 取值 描述 HFP_HF_CALL_STATE_ACTIVE 0 正在通话 HFP_HF_CALL_STATE_HELD 1 呼叫保持通话 HFP_HF_CALL_STATE_DIALING 2 呼叫正在拨号 HFP_HF_CALL_STATE_ALERTING 3 呼叫正在响铃 HFP_HF_CALL_STATE_INCOMING 4 呼叫接入 HFP_HF_CALL_STATE_WAITING 5 呼叫等待 HFP_HF_CALL_STATE_RESPONSE_HELD 6 呼叫响应保持 HFP_HF_CALL_STATE_FINISHED 7 呼叫结束
hfp_hf_codec_id_t
typedef enum {
HFP_HF_CODEC_ID_CVSD = 0x01, /*!< HFP HF编码格式为CVSD */
HFP_HF_CODEC_ID_MSBC, /*!< HFP HF编码格式为MSBC */
} hfp_hf_codec_id_t;
枚举成员 取值 描述 HFP_HF_CODEC_ID_CVSD 0x01 编码格式为CVSD HFP_HF_CODEC_ID_MSBC 0x02 编码格式为MSBC
errcode_bt_t
typedef enum {
ERRCODE_BT_SUCCESS = 0x00,
ERRCODE_BT_FAIL = ERRCODE_BT_COMMON_BASE,
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 = ERRCODE_BT_COMMON_END
} 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 蓝牙错误码最大值
hfp_sco_connect_state_t
typedef enum {
HFP_SCO_STATE_CONNECTING = 0x01,
HFP_SCO_STATE_CONNECTED = 0x02,
HFP_SCO_STATE_DISCONNECTING = 0x03,
HFP_SCO_STATE_DISCONNECTED = 0x04
} hfp_sco_connect_state_t;
枚举成员 取值 描述 HFP_SCO_STATE_CONNECTING 0x01 SCO正在连接 HFP_SCO_STATE_CONNECTED 0x02 SCO已连接 HFP_SCO_STATE_DISCONNECTING 0x03 SCO正在断连 HFP_SCO_STATE_DISCONNECTED 0x04 SCO已断连
hfp_volume_type_t
枚举成员 取值 描述 HFP_VOLUME_MIC 0x00 调整microphone增益 HFP_VOLUME_SPEAKER 0x01 调整speaker增益
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 已断连
bt_addr_type
typedef enum {
BT_ADDRESS_TYPE_PUBLIC_DEVICE_ADDRESS = 0x00,
BT_ADDRESS_TYPE_RANDOM_DEVICE_ADDRESS = 0x01,
} bt_addr_type;
枚举成员 取值 描述 BT_ADDRESS_TYPE_PUBLIC_DEVICE_ADDRESS 0x00 蓝牙公有地址 BT_ADDRESS_TYPE_RANDOM_DEVICE_ADDRESS 0x01 蓝牙随机地址
Structures
bd_addr_t
typedef struct {
uint8_t addr[BD_ADDR_LEN]; /*!< 蓝牙地址 */
uint8_t type; /*!< 蓝牙地址类型,参考bt_addr_type */
} bd_addr_t;
成员说明:
成员名称 数据类型 描述 addr uint8_t[6] 蓝牙设备地址,长度为BD_ADDR_LEN(6) type uint8_t 蓝牙地址类型,参考bt_addr_type
hfp_hf_calls_info_t
typedef struct {
bd_addr_t bd_addr; /*!< 远端设备地址 */
int id; /*!< 编号 */
int state; /*!< 电话呼叫状态 */
char *number; /*!< 电话号码 */
unsigned char number_len; /*!< 电话号码位数 */
bt_uuid_t uuid; /*!< 电话服务uuid */
bool multi_party; /*!< 多方电话 */
bool outgoing; /*!< 呼入/呼出 */
bool in_band_ring; /*!< inband-ring模式 */
long creation_time; /*!< 呼叫开始时间 */
} hfp_hf_calls_info_t;
成员说明:
成员名称 数据类型 描述 bd_addr bd_addr_t 远端设备地址 id int 呼叫编号 state int 电话呼叫状态,参考hfp_hf_call_state_t number char * 电话号码 number_len unsigned char 电话号码位数 uuid bt_uuid_t 电话服务UUID multi_party bool 是否为多方电话 outgoing bool 呼入/呼出标识 in_band_ring bool inband-ring模式标识 creation_time long 呼叫开始时间
hfp_hf_callbacks_t
typedef struct {
hfp_hf_conn_state_changed_callback conn_state_changed_cb;
hfp_hf_sco_conn_state_changed_callback sco_conn_state_changed_cb;
hfp_hf_battery_level_changed_callback battery_level_changed_cb;
hfp_hf_signal_strength_changed_callback signal_strength_changed_cb;
hfp_hf_registration_status_changed_callback registration_status_changed_cb;
hfp_hf_roaming_status_changed_callback roaming_status_changed_cb;
hfp_hf_operator_selection_callback operator_selection_cb;
hfp_hf_subscriber_number_callback subscriber_number_cb;
hfp_hf_voice_recognition_status_changed_callback voice_recognition_status_changed_cb;
hfp_hf_in_band_ring_tone_changed_callback in_band_ring_tone_changed_cb;
hfp_hf_volume_changed_callback volume_changed_cb;
hfp_hf_call_changed_callback call_changed_cb;
hfp_hf_dial_error_code_callback dial_error_code_cb;
hfp_hf_codec_changed_callback codec_changed_cb;
} hfp_hf_callbacks_t;
成员说明:
成员名称 数据类型 描述 conn_state_changed_cb hfp_hf_conn_state_changed_callback HFP连接状态变化回调 sco_conn_state_changed_cb hfp_hf_sco_conn_state_changed_callback SCO连接状态变化回调 battery_level_changed_cb hfp_hf_battery_level_changed_callback AG电量变化回调 signal_strength_changed_cb hfp_hf_signal_strength_changed_callback AG信号强度变化回调 registration_status_changed_cb hfp_hf_registration_status_changed_callback AG注册状态变化回调 roaming_status_changed_cb hfp_hf_roaming_status_changed_callback AG漫游状态变化回调 operator_selection_cb hfp_hf_operator_selection_callback AG运营商信息回调 subscriber_number_cb hfp_hf_subscriber_number_callback AG用户号码回调 voice_recognition_status_changed_cb hfp_hf_voice_recognition_status_changed_callback 语音识别状态变化回调 in_band_ring_tone_changed_cb hfp_hf_in_band_ring_tone_changed_callback 带内铃声状态变化回调 volume_changed_cb hfp_hf_volume_changed_callback AG端调整HF音量回调 call_changed_cb hfp_hf_call_changed_callback 通话状态变化回调 dial_error_code_cb hfp_hf_dial_error_code_callback 拨号失败回调 codec_changed_cb hfp_hf_codec_changed_callback codec编码格式变化回调