跳转至

hfp

HFP (Hands-Free Profile) 提供蓝牙免提通话服务,支持HFP连接建立与断开、通话操作请求、语音识别、音量配置、DTMF识别码发送、SCO (Synchronous Connection-Oriented) 音频流连接管理及私有AT命令交互等功能。

头文件清单

#include "protocol/bt/host/include/bs_service/bs_br_call.h"
#include "protocol/bt/host/include/bs_service/bs_br_call_sco.h"

接口清单

接口名称 功能简述
bs_br_create_sco_connection 建立SCO音频流连接
bs_br_release_sco_connection 断开SCO音频流连接
bs_br_create_sco_result_reply 接受或拒绝SCO连接请求
bs_br_sco_register_callbacks 注册SCO回调函数
bs_br_sco_unregister_callbacks 去注册SCO回调函数
bs_br_call_hfp_register 注册蓝牙HFP服务
bs_br_call_hfp_unregister 去注册蓝牙HFP服务
bs_br_call_hfp_connect 建立蓝牙通话服务连接
bs_br_call_hfp_disconnect 断开蓝牙通话服务连接
bs_br_call_operate_request 发送通话操作请求
bs_br_call_voice_recognition_request 发送语音识别请求
bs_br_call_set_volume_request 发送通话音量配置请求
bs_br_call_send_dtmf_tone_request 发送DTMF识别码请求
bs_br_call_status_notify 发送通话状态通知
bs_br_call_send_vendor_at_request 发送私有AT命令请求
bs_br_call_register_callbacks 注册蓝牙通话回调函数
bs_br_call_unregister_callbacks 去注册蓝牙通话回调函数

Functions

bs_br_create_sco_connection

errcode_t bs_br_create_sco_connection(uint16_t dev_id)

头文件清单

#include "protocol/bt/host/include/bs_service/bs_br_call_sco.h"

功能说明

  • 建立与对端设备的SCO音频流连接
  • 用于在蓝牙通话过程中建立语音通道
  • 发起SCO连接请求,连接结果通过SCO状态回调上报

前置条件

  • 调用时序约束:必须在HFP服务连接建立成功后调用
  • 依赖关系:依赖已注册的SCO回调函数以接收连接状态变化通知

入参

名称 参数类型 详细说明 约束取值范围
dev_id uint16_t 对端设备编号 有效设备ID

返回值

  • 返回类型:errcode_t
返回值 文字含义 触发场景
ERRCODE_BT_SUCCESS(0x00) 执行成功 SCO连接请求成功发起
Other 其他错误码,参考errcode_bt_t 执行失败

bs_br_release_sco_connection

errcode_t bs_br_release_sco_connection(uint16_t dev_id)

头文件清单

#include "protocol/bt/host/include/bs_service/bs_br_call_sco.h"

功能说明

  • 断开与对端设备的SCO音频流连接
  • 用于在蓝牙通话结束后释放语音通道
  • 断开结果通过SCO状态回调上报

前置条件

  • 调用时序约束:必须在SCO连接已建立的状态下调用
  • 依赖关系:依赖已注册的SCO回调函数以接收断连状态变化通知

入参

名称 参数类型 详细说明 约束取值范围
dev_id uint16_t 对端设备编号 有效设备ID

返回值

  • 返回类型:errcode_t
返回值 文字含义 触发场景
ERRCODE_BT_SUCCESS(0x00) 执行成功 SCO断连请求成功发起
Other 其他错误码,参考errcode_bt_t 执行失败

bs_br_create_sco_result_reply

errcode_t bs_br_create_sco_result_reply(uint16_t dev_id, bool is_accept)

头文件清单

#include "protocol/bt/host/include/bs_service/bs_br_call_sco.h"

功能说明

  • 接受或拒绝对端发起的SCO连接请求
  • 用于在收到SCO连接请求后回复接受或拒绝
  • 通过该接口控制SCO连接的建立决策

前置条件

  • 调用时序约束:必须在收到SCO连接请求回调后调用
  • 依赖关系:依赖已注册的SCO回调函数以接收SCO连接请求

入参

名称 参数类型 详细说明 约束取值范围
dev_id uint16_t 对端设备编号 有效设备ID
is_accept bool 是否接受SCO连接 true:接受;false:拒绝

返回值

  • 返回类型:errcode_t
返回值 文字含义 触发场景
ERRCODE_BT_SUCCESS(0x00) 执行成功 回复成功发送
Other 其他错误码,参考errcode_bt_t 执行失败

bs_br_sco_register_callbacks

errcode_t bs_br_sco_register_callbacks(uint8_t app_id, bs_br_sco_callbacks_t *func)

头文件清单

#include "protocol/bt/host/include/bs_service/bs_br_call_sco.h"

功能说明

  • 注册SCO回调函数集合
  • 用于注册SCO连接状态变化和编解码类型上报的回调
  • 回调函数在SCO状态变更和编解码信息上报时被触发

前置条件

  • 调用时序约束:必须在调用SCO相关接口之前注册回调
  • 依赖关系:依赖bs_br_sco_callbacks_t结构体已正确初始化

入参

名称 参数类型 详细说明 约束取值范围
app_id uint8_t 应用ID 默认为0
func bs_br_sco_callbacks_t* SCO回调函数结构体指针 非空指针

返回值

  • 返回类型:errcode_t
返回值 文字含义 触发场景
ERRCODE_BT_SUCCESS(0x00) 执行成功 回调注册成功
Other 其他错误码,参考errcode_bt_t 执行失败

bs_br_sco_unregister_callbacks

errcode_t bs_br_sco_unregister_callbacks(uint8_t app_id)

头文件清单

#include "protocol/bt/host/include/bs_service/bs_br_call_sco.h"

功能说明

  • 去注册SCO回调函数
  • 用于取消已注册的SCO回调函数
  • 去注册后不再接收SCO状态变化和编解码信息上报

前置条件

  • 调用时序约束:必须在已注册SCO回调后调用
  • 依赖关系:依赖对应的app_id已通过bs_br_sco_register_callbacks注册

入参

名称 参数类型 详细说明 约束取值范围
app_id uint8_t 应用ID 默认为0

返回值

  • 返回类型:errcode_t
返回值 文字含义 触发场景
ERRCODE_BT_SUCCESS(0x00) 执行成功 回调去注册成功
Other 其他错误码,参考errcode_bt_t 执行失败

bs_br_call_hfp_register

errcode_t bs_br_call_hfp_register(uint8_t hfp_role)

头文件清单

#include "protocol/bt/host/include/bs_service/bs_br_call.h"

功能说明

  • 注册蓝牙HFP服务
  • 指定本端HFP服务角色(HF或AG)进行服务注册
  • 注册成功后方可进行HFP连接和通话操作

前置条件

  • 调用时序约束:必须在所有HFP相关接口调用之前注册
  • 依赖关系:依赖蓝牙协议栈已初始化

入参

名称 参数类型 详细说明 约束取值范围
hfp_role uint8_t HFP服务角色 BR_CALL_HFP_HF(0x01) / BR_CALL_HFP_AG(0x02)

返回值

  • 返回类型:errcode_t
返回值 文字含义 触发场景
ERRCODE_BT_SUCCESS(0x00) 执行成功 HFP服务注册成功
Other 其他错误码,参考errcode_bt_t 执行失败

bs_br_call_hfp_unregister

errcode_t bs_br_call_hfp_unregister(uint8_t hfp_role)

头文件清单

#include "protocol/bt/host/include/bs_service/bs_br_call.h"

功能说明

  • 去注册蓝牙HFP服务
  • 按照指定角色取消已注册的HFP服务
  • 去注册后该角色不再提供HFP服务能力

前置条件

  • 调用时序约束:必须在已注册HFP服务后调用
  • 依赖关系:依赖对应的HFP角色已通过bs_br_call_hfp_register注册

入参

名称 参数类型 详细说明 约束取值范围
hfp_role uint8_t HFP服务角色 BR_CALL_HFP_HF(0x01) / BR_CALL_HFP_AG(0x02)

返回值

  • 返回类型:errcode_t
返回值 文字含义 触发场景
ERRCODE_BT_SUCCESS(0x00) 执行成功 HFP服务去注册成功
Other 其他错误码,参考errcode_bt_t 执行失败

bs_br_call_hfp_connect

errcode_t bs_br_call_hfp_connect(uint16_t dev_id, uint8_t hfp_role)

头文件清单

#include "protocol/bt/host/include/bs_service/bs_br_call.h"

功能说明

  • 建立与对端设备的蓝牙通话服务连接
  • 指定本端HFP角色发起HFP连接请求
  • 连接结果通过通话回调函数中的connect_state_cbk上报

前置条件

  • 调用时序约束:必须在HFP服务注册成功后调用
  • 依赖关系:依赖已注册的通话回调函数以接收连接状态通知

入参

名称 参数类型 详细说明 约束取值范围
dev_id uint16_t 对端设备编号 有效设备ID
hfp_role uint8_t HFP服务角色 BR_CALL_HFP_HF(0x01) / BR_CALL_HFP_AG(0x02)

返回值

  • 返回类型:errcode_t
返回值 文字含义 触发场景
ERRCODE_BT_SUCCESS(0x00) 执行成功 HFP连接请求成功发起
Other 其他错误码,参考errcode_bt_t 执行失败

bs_br_call_hfp_disconnect

errcode_t bs_br_call_hfp_disconnect(uint16_t dev_id, uint8_t hfp_role)

头文件清单

#include "protocol/bt/host/include/bs_service/bs_br_call.h"

功能说明

  • 断开与对端设备的蓝牙通话服务连接
  • 指定本端HFP角色发起HFP断连请求
  • 断连结果通过通话回调函数中的connect_state_cbk上报

前置条件

  • 调用时序约束:必须在HFP连接已建立的状态下调用
  • 依赖关系:依赖已注册的通话回调函数以接收断连状态通知

入参

名称 参数类型 详细说明 约束取值范围
dev_id uint16_t 对端设备编号 有效设备ID
hfp_role uint8_t HFP服务角色 BR_CALL_HFP_HF(0x01) / BR_CALL_HFP_AG(0x02)

返回值

  • 返回类型:errcode_t
返回值 文字含义 触发场景
ERRCODE_BT_SUCCESS(0x00) 执行成功 HFP断连请求成功发起
Other 其他错误码,参考errcode_bt_t 执行失败

bs_br_call_operate_request

errcode_t bs_br_call_operate_request(uint16_t dev_id, uint8_t opt_type, uint8_t *param, uint16_t param_len)

头文件清单

#include "protocol/bt/host/include/bs_service/bs_br_call.h"

功能说明

  • 发送通话操作请求
  • 支持呼出、接听、挂断、拒接、保持、查询通话信息等操作
  • 不同操作类型对应不同的参数要求

前置条件

  • 调用时序约束:必须在HFP连接已建立的状态下调用
  • 依赖关系:依赖已注册的通话回调函数以接收操作结果通知

入参

名称 参数类型 详细说明 约束取值范围
dev_id uint16_t 对端设备编号 有效设备ID
opt_type uint8_t 通话操作类型 BR_CALL_REQUEST_OUT(0x01) / BR_CALL_REQUEST_ACCEPT(0x02) / BR_CALL_REQUEST_FINISH(0x03) / BR_CALL_REQUEST_REJECT(0x04) / BR_CALL_REQUEST_HOLD(0x05) / BR_CALL_REQUEST_CALL_INFO(0x06)
param uint8_t* 通话操作参数指针 依据opt_type不同而不同:BR_CALL_REQUEST_OUT时为手机号,其余为NULL
param_len uint16_t 通话操作参数长度 依据opt_type不同而不同:BR_CALL_REQUEST_OUT时为手机号长度,其余为0

返回值

  • 返回类型:errcode_t
返回值 文字含义 触发场景
ERRCODE_BT_SUCCESS(0x00) 执行成功 通话操作请求成功发起
Other 其他错误码,参考errcode_bt_t 执行失败

bs_br_call_voice_recognition_request

errcode_t bs_br_call_voice_recognition_request(uint16_t dev_id, bool is_open)

头文件清单

#include "protocol/bt/host/include/bs_service/bs_br_call.h"

功能说明

  • 发送语音识别请求
  • 用于开启或关闭对端设备的语音识别功能
  • 语音识别状态变化通过回调函数voice_reco_status_cbk上报

前置条件

  • 调用时序约束:必须在HFP连接已建立的状态下调用
  • 依赖关系:依赖已注册的通话回调函数以接收语音识别状态通知

入参

名称 参数类型 详细说明 约束取值范围
dev_id uint16_t 对端设备编号 有效设备ID
is_open bool 是否开启语音识别 true:开启;false:关闭

返回值

  • 返回类型:errcode_t
返回值 文字含义 触发场景
ERRCODE_BT_SUCCESS(0x00) 执行成功 语音识别请求成功发起
Other 其他错误码,参考errcode_bt_t 执行失败

bs_br_call_set_volume_request

errcode_t bs_br_call_set_volume_request(uint16_t dev_id, uint8_t volume_type, uint8_t volume)

头文件清单

#include "protocol/bt/host/include/bs_service/bs_br_call.h"

功能说明

  • 发送通话音量配置请求
  • 支持配置麦克风增益或扬声器增益
  • 音量配置结果通过回调函数set_volume_request_cbk上报

前置条件

  • 调用时序约束:必须在HFP连接已建立的状态下调用
  • 依赖关系:依赖已注册的通话回调函数以接收音量配置通知

入参

名称 参数类型 详细说明 约束取值范围
dev_id uint16_t 对端设备编号 有效设备ID
volume_type uint8_t 音量类型 BR_CALL_VOLUME_MIC(0x00) / BR_CALL_VOLUME_SPEAKER(0x01)
volume uint8_t 音量值 0 ~ 15

返回值

  • 返回类型:errcode_t
返回值 文字含义 触发场景
ERRCODE_BT_SUCCESS(0x00) 执行成功 音量配置请求成功发起
Other 其他错误码,参考errcode_bt_t 执行失败

bs_br_call_send_dtmf_tone_request

errcode_t bs_br_call_send_dtmf_tone_request(uint16_t dev_id, uint8_t code)

头文件清单

#include "protocol/bt/host/include/bs_service/bs_br_call.h"

功能说明

  • 发送DTMF识别码请求
  • 用于在通话过程中向对端发送DTMF信号
  • DTMF码值为[0-9][A-D][*#]对应的ASCII码

前置条件

  • 调用时序约束:必须在HFP连接已建立且通话处于激活状态时调用
  • 依赖关系:依赖HFP连接已成功建立

入参

名称 参数类型 详细说明 约束取值范围
dev_id uint16_t 对端设备编号 有效设备ID
code uint8_t DTMF识别码 [0-9][A-D][*#]的ASCII码

返回值

  • 返回类型:errcode_t
返回值 文字含义 触发场景
ERRCODE_BT_SUCCESS(0x00) 执行成功 DTMF识别码请求成功发起
Other 其他错误码,参考errcode_bt_t 执行失败

bs_br_call_status_notify

errcode_t bs_br_call_status_notify(uint16_t dev_id, uint8_t notify_type, uint8_t *param, uint16_t param_len)

头文件清单

#include "protocol/bt/host/include/bs_service/bs_br_call.h"

功能说明

  • 发送通话状态通知
  • 支持呼出、接听、挂断、拒接、来电、通话信息、呼出响铃等通知类型
  • 不同通知类型对应不同的参数要求

前置条件

  • 调用时序约束:必须在HFP连接已建立的状态下调用
  • 依赖关系:依赖HFP连接已成功建立

入参

名称 参数类型 详细说明 约束取值范围
dev_id uint16_t 对端设备编号 有效设备ID
notify_type uint8_t 通知类型 BR_CALL_NOTIFY_OUT(0x01) / BR_CALL_NOTIFY_ACCEPT(0x02) / BR_CALL_NOTIFY_FINISH(0x03) / BR_CALL_NOTIFY_REJECT(0x04) / BR_CALL_NOTIFY_INCOMING(0x05) / BR_CALL_NOTIFY_CALL_INFO(0x06) / BR_CALL_NOTIFY_OUT_ALERTING(0x07)
param uint8_t* 通知参数指针 依据notify_type不同而不同
param_len uint16_t 通知参数长度 依据notify_type不同而不同

返回值

  • 返回类型:errcode_t
返回值 文字含义 触发场景
ERRCODE_BT_SUCCESS(0x00) 执行成功 通话状态通知成功发送
Other 其他错误码,参考errcode_bt_t 执行失败

bs_br_call_send_vendor_at_request

errcode_t bs_br_call_send_vendor_at_request(uint16_t dev_id, uint8_t *at_cmd, uint16_t at_len)

头文件清单

#include "protocol/bt/host/include/bs_service/bs_br_call.h"

功能说明

  • 发送私有AT命令请求
  • 用于向对端设备发送厂商自定义的AT命令
  • AT命令响应通过回调函数vendor_at_cbk上报

前置条件

  • 调用时序约束:必须在HFP连接已建立的状态下调用
  • 依赖关系:依赖已注册的通话回调函数以接收AT命令响应

入参

名称 参数类型 详细说明 约束取值范围
dev_id uint16_t 对端设备编号 有效设备ID
at_cmd uint8_t* AT命令参数指针 非空指针
at_len uint16_t AT命令参数长度 大于0

返回值

  • 返回类型:errcode_t
返回值 文字含义 触发场景
ERRCODE_BT_SUCCESS(0x00) 执行成功 AT命令请求成功发起
Other 其他错误码,参考errcode_bt_t 执行失败

bs_br_call_register_callbacks

errcode_t bs_br_call_register_callbacks(uint8_t app_id, bs_br_call_callbacks_t *func)

头文件清单

#include "protocol/bt/host/include/bs_service/bs_br_call.h"

功能说明

  • 注册蓝牙通话回调函数集合
  • 用于注册连接状态、语音识别、音量配置、通话状态、来电响铃、通话操作、私有AT命令等回调
  • 回调函数在对应事件发生时被触发

前置条件

  • 调用时序约束:必须在调用通话相关接口之前注册回调
  • 依赖关系:依赖bs_br_call_callbacks_t结构体已正确初始化

入参

名称 参数类型 详细说明 约束取值范围
app_id uint8_t 应用ID 默认为0
func bs_br_call_callbacks_t* 通话回调函数结构体指针 非空指针

返回值

  • 返回类型:errcode_t
返回值 文字含义 触发场景
ERRCODE_BT_SUCCESS(0x00) 执行成功 回调注册成功
Other 其他错误码,参考errcode_bt_t 执行失败

bs_br_call_unregister_callbacks

errcode_t bs_br_call_unregister_callbacks(uint8_t app_id)

头文件清单

#include "protocol/bt/host/include/bs_service/bs_br_call.h"

功能说明

  • 去注册蓝牙通话回调函数
  • 用于取消已注册的通话回调函数
  • 去注册后不再接收通话相关事件通知

前置条件

  • 调用时序约束:必须在已注册通话回调后调用
  • 依赖关系:依赖对应的app_id已通过bs_br_call_register_callbacks注册

入参

名称 参数类型 详细说明 约束取值范围
app_id uint8_t 应用ID 默认为0

返回值

  • 返回类型:errcode_t
返回值 文字含义 触发场景
ERRCODE_BT_SUCCESS(0x00) 执行成功 回调去注册成功
Other 其他错误码,参考errcode_bt_t 执行失败

Enumerations

bs_br_call_hfp_role_t

typedef enum {
    BR_CALL_HFP_HF = 0x01,
    BR_CALL_HFP_AG = 0x02,
} bs_br_call_hfp_role_t;
枚举成员 取值 描述
BR_CALL_HFP_HF 0x01 HFP Hands-Free角色
BR_CALL_HFP_AG 0x02 HFP Audio Gateway角色

bs_br_call_volume_type_t

typedef enum {
    BR_CALL_VOLUME_MIC = 0x00,
    BR_CALL_VOLUME_SPEAKER
} bs_br_call_volume_type_t;
枚举成员 取值 描述
BR_CALL_VOLUME_MIC 0x00 麦克风增益
BR_CALL_VOLUME_SPEAKER 0x01 扬声器增益

bs_br_call_opt_type_t

typedef enum {
    BR_CALL_REQUEST_OUT = 0x01,
    BR_CALL_REQUEST_ACCEPT = 0x02,
    BR_CALL_REQUEST_FINISH = 0x03,
    BR_CALL_REQUEST_REJECT = 0x04,
    BR_CALL_REQUEST_HOLD = 0x05,
    BR_CALL_REQUEST_CALL_INFO = 0x06,
} bs_br_call_opt_type_t;
枚举成员 取值 描述
BR_CALL_REQUEST_OUT 0x01 呼出请求,param为手机号,param_len为手机号长度
BR_CALL_REQUEST_ACCEPT 0x02 接听请求,param为空,param_len为0
BR_CALL_REQUEST_FINISH 0x03 挂断请求,param为空,param_len为0
BR_CALL_REQUEST_REJECT 0x04 拒接请求,param为空,param_len为0
BR_CALL_REQUEST_HOLD 0x05 保持当前通话请求,param为空,param_len为0
BR_CALL_REQUEST_CALL_INFO 0x06 通话信息请求,param为空,param_len为0

bs_br_call_state_t

typedef enum {
    BR_CALL_STATE_ACTIVE = 0,
    BR_CALL_STATE_HELD,
    BR_CALL_STATE_DIALING,
    BR_CALL_STATE_ALERTING,
    BR_CALL_STATE_INCOMING,
    BR_CALL_STATE_WAITING,
    BR_CALL_STATE_RESPONSE_HELD,
    BR_CALL_STATE_FINISHED
} bs_br_call_state_t;
枚举成员 取值 描述
BR_CALL_STATE_ACTIVE 0 正在通话
BR_CALL_STATE_HELD 1 呼叫保持通话
BR_CALL_STATE_DIALING 2 呼出拨号中
BR_CALL_STATE_ALERTING 3 呼出响铃中
BR_CALL_STATE_INCOMING 4 来电中
BR_CALL_STATE_WAITING 5 呼叫等待
BR_CALL_STATE_RESPONSE_HELD 6 呼叫响应保持
BR_CALL_STATE_FINISHED 7 通话结束

bs_br_call_accept_type_t

typedef enum {
    BR_CALL_ACCEPT_INCOMING_CALL = 0x00,
    BR_CALL_ACCEPT_OUTGOING_CALL_BY_REMOTE = 0x01
} bs_br_call_accept_type_t;
枚举成员 取值 描述
BR_CALL_ACCEPT_INCOMING_CALL 0x00 来电接听
BR_CALL_ACCEPT_OUTGOING_CALL_BY_REMOTE 0x01 呼出电话被对端接听

bs_br_call_notify_type_t

typedef enum {
    BR_CALL_NOTIFY_OUT = 0x01,
    BR_CALL_NOTIFY_ACCEPT = 0x02,
    BR_CALL_NOTIFY_FINISH = 0x03,
    BR_CALL_NOTIFY_REJECT = 0x04,
    BR_CALL_NOTIFY_INCOMING = 0x05,
    BR_CALL_NOTIFY_CALL_INFO = 0x06,
    BR_CALL_NOTIFY_OUT_ALERTING = 0x07,
} bs_br_call_notify_type_t;
枚举成员 取值 描述
BR_CALL_NOTIFY_OUT 0x01 电话呼出通知,param为空,param_len为0
BR_CALL_NOTIFY_ACCEPT 0x02 接听通知,param为接听类型枚举值,param_len为1
BR_CALL_NOTIFY_FINISH 0x03 挂断通知,param为空,param_len为0
BR_CALL_NOTIFY_REJECT 0x04 来电拒接通知,param为空,param_len为0
BR_CALL_NOTIFY_INCOMING 0x05 来电通知,param为手机号,param_len为手机号长度
BR_CALL_NOTIFY_CALL_INFO 0x06 通话信息通知,param为通话信息结构体指针,param_len为结构体长度
BR_CALL_NOTIFY_OUT_ALERTING 0x07 电话呼出响铃对端通知,param为空,param_len为0

bs_br_call_ring_status_t

typedef enum {
    BR_CALL_INCOMING_RING_GOING = 1,
    BR_CALL_INCOMING_RING_TERMINATE = 2,
} bs_br_call_ring_status_t;
枚举成员 取值 描述
BR_CALL_INCOMING_RING_GOING 1 来电响铃中
BR_CALL_INCOMING_RING_TERMINATE 2 来电响铃结束

bs_br_sco_state_t

typedef enum {
    BR_SCO_STATE_CONNECTING = 0x01,
    BR_SCO_STATE_CONNECTED = 0x02,
    BR_SCO_STATE_DISCONNECTED = 0x03,
} bs_br_sco_state_t;
枚举成员 取值 描述
BR_SCO_STATE_CONNECTING 0x01 SCO正在连接
BR_SCO_STATE_CONNECTED 0x02 SCO已连接
BR_SCO_STATE_DISCONNECTED 0x03 SCO已断连

bs_br_sco_codec_id_t

typedef enum {
    BR_SCO_CODEC_ID_CVSD = 0x01,
    BR_SCO_CODEC_ID_MSBC,
} bs_br_sco_codec_id_t;
枚举成员 取值 描述
BR_SCO_CODEC_ID_CVSD 0x01 编码格式为CVSD
BR_SCO_CODEC_ID_MSBC 0x02 编码格式为MSBC

Structures

bs_br_call_info_t

typedef struct {
    uint8_t id;
    uint8_t state;
    bool multi_party;
    bool outgoing;
    uint8_t number_len;
    uint8_t number[BR_CALL_PHONENUM_MAX_DIGITS];
} bs_br_call_info_t;

成员说明

成员名称 数据类型 描述
id uint8_t 通话编号
state uint8_t 电话呼叫状态,参考bs_br_call_state_t
multi_party bool 是否多方电话
outgoing bool 呼入/呼出标志
number_len uint8_t 电话号码位数
number uint8_t[] 电话号码

bs_br_sco_callbacks_t

typedef struct {
    bs_br_sco_state_changed_cbk sco_state_cbk;
    bs_br_sco_codec_report_cbk sco_codec_cbk;
} bs_br_sco_callbacks_t;

成员说明

成员名称 数据类型 描述
sco_state_cbk bs_br_sco_state_changed_cbk SCO状态变化回调,在SCO连接状态变更时被调用
sco_codec_cbk bs_br_sco_codec_report_cbk SCO编解码上报回调,在收到SCO编解码类型信息时被调用

bs_br_call_callbacks_t

typedef struct {
    bs_br_call_conn_state_cbk                connect_state_cbk;
    bs_br_call_voice_recognition_status_cbk  voice_reco_status_cbk;
    bs_br_call_set_volume_request_cbk        set_volume_request_cbk;
    bs_br_call_status_notify_cbk             call_status_notify_cbk;
    bs_br_call_band_ring_tone_changed_cbk    band_ring_tone_changed_cbk;
    bs_br_call_operate_request_cbk           call_opt_req_cbk;
    bs_br_call_vendor_at_cbk                 vendor_at_cbk;
} bs_br_call_callbacks_t;

成员说明

成员名称 数据类型 描述
connect_state_cbk bs_br_call_conn_state_cbk 服务连接状态上报回调,在HFP连接状态变更时被调用
voice_reco_status_cbk bs_br_call_voice_recognition_status_cbk 语音识别状态上报回调,在语音识别开启/关闭状态变更时被调用
set_volume_request_cbk bs_br_call_set_volume_request_cbk 通话音量配置上报回调,在收到对端音量配置请求时被调用
call_status_notify_cbk bs_br_call_status_notify_cbk 通话状态信息上报回调,在通话状态信息变更时被调用
band_ring_tone_changed_cbk bs_br_call_band_ring_tone_changed_cbk 来电响铃上报回调,在来电响铃状态变更时被调用
call_opt_req_cbk bs_br_call_operate_request_cbk 通话操作请求上报回调,在收到通话操作请求时被调用
vendor_at_cbk bs_br_call_vendor_at_cbk 私有命令上报回调,在收到私有AT命令时被调用

Macros

BR_CALL_PHONENUM_MAX_DIGITS

#define BR_CALL_PHONENUM_MAX_DIGITS 32