杰理可视化SDK-手机三方通话控制

杰理可视化SDK-手机三方通话控制

手机三方通话功能是手机常用的功能之一。本篇文章简单介绍了杰理可视化SDK在蓝牙耳机应用中,当手机存在三方通话来电或正在进行三方通话时,蓝牙耳机如何实现对手机三方通话的控制操作,包括状态获取和处理等内容。

手机三方通话功能

首先需要了解一下什么是手机的三方通话功能。手机三方通话功能是指在手机通话过程中,用户可以在不中断当前通话的情况下,拨打或接听第三方的电话。三方通话功能是建立在呼叫等待与保持基础上的一项新业务。呼叫等待是指当用户正在通话时,如果有第三方来电,手机会提醒用户有新的来电等待;呼叫保持则是指用户可以暂时保持当前通话,去接听或拨打其他电话。部分手机可能需要用户主动开通呼叫等待、呼叫保持和三方通话功能。如果用户发现无法使用三方通话,可以联系运营商或查看手机设置。

总的来说,三方通话功能需要电话运营商开通或手机支持,如下图三方通话功能演示。

杰理SDK三方通话控制

SDK三方通话状态获取

SDK代码中通常使用bt_get_call_status()函数来获取当前蓝牙电话的状态。

通过BT_CALL_IND_STA枚举值可以看到获取到的蓝牙电话状态并不能指示三方通话的通话状态。

这时需要使用获取第二个通话状态的函数get_second_call_status()函数,这个函数在杰理蓝牙库中有定义,用户可以在外部自行声明使用。get_second_call_status()外部函数,用于获取第二个通话的状态。这个函数通常用于蓝牙三方通话功能的实现中,特别是在处理多通话场景时,能够获取第二个通话的状态信息。在蓝牙三方通话功能中,get_second_call_status()函数的作用是获取第二个通话的状态信息。通过调用这个函数,可以获取到第二个通话的相关状态,从而实现对第二个通话的管理和控制。这对于实现复杂的通话功能非常有用,特别是在需要同时处理多个通话的情况下。

如下图,在使用时手动添加get_second_call_status()函数声明。

get_second_call_status()函数返回值的含义如上。一般会使用到SECOND_CALL_IN以及SECOND_CALL_HOLD分别获取到手机是否三方通话打入以及三方通话保持状态。

SDK三方通话处理

SDK有了以上获取到三方通话状态的基础,蓝牙耳机便可以根据三方通话的状态做对应的三方通话处理了。比如通话过程中三方通话来电时,通过耳机上的按键拒接新来电,保持当前通话;手机已经接通三方通话了,第二通电话正在通话保持时,通过按键来实现在两个通话之间切换等UI上的操作功能。

在杰理SDK中可以通过bt_cmd_prepare()函数或bt_cmd_prepare_for_addr()函数发送对应的蓝牙控制命令以达到控制手机通话操作的目的。发送USER_CMD_TYPE三方通话相关的枚举值的命令,可以在avctp_user.h文件中查看,如下图。

三方通话来电时:

挂断当前去接听发送USER_CTRL_HFP_THREE_WAY_ANSWER1命令;

保留当前去接听发送USER_CTRL_HFP_THREE_WAY_ANSWER2命令;

拒接三方通话来电发送USER_CTRL_HFP_THREE_WAY_REJECT命令;

三方通话进行时:

两个通话之间切换发送USER_CTRL_HFP_THREE_WAY_ANSWER2命令。

相关推荐
智者知已应修善业2 小时前
【51单片机用数码管显示流水灯的种类是按钮控制数码管加一和流水灯】2022-6-14
c语言·经验分享·笔记·单片机·嵌入式硬件·51单片机
孞㐑¥5 小时前
Linux之Socket 编程 UDP
linux·服务器·c++·经验分享·笔记·网络协议·udp
sealaugh328 小时前
aws(学习笔记第四十八课) appsync-graphql-dynamodb
笔记·学习·aws
智商偏低8 小时前
单片机之helloworld
单片机·嵌入式硬件
青牛科技-Allen9 小时前
GC3910S:一款高性能双通道直流电机驱动芯片
stm32·单片机·嵌入式硬件·机器人·医疗器械·水泵、
freexyn10 小时前
Matlab自学笔记六十一:快速上手解方程
数据结构·笔记·matlab
很小心的小新11 小时前
12、jvm运行期优化
java·开发语言·jvm·笔记
森焱森11 小时前
无人机三轴稳定控制(2)____根据目标俯仰角,实现俯仰稳定化控制,计算出升降舵输出
c语言·单片机·算法·架构·无人机
白鱼不小白11 小时前
stm32 USART串口协议与外设(程序)——江协教程踩坑经验分享
stm32·单片机·嵌入式硬件
S,D12 小时前
MCU引脚的漏电流、灌电流、拉电流区别是什么
驱动开发·stm32·单片机·嵌入式硬件·mcu·物联网·硬件工程