电子说
通话管理模块主要管理CS(Circuit Switch,电路交换)、IMS(IP Multimedia Subsystem,IP多媒体子系统)和OTT(over the top,OTT解决方案)三种类型的通话,负责申请通话所需要的音视频资源,并处理多路通话时产生的各种冲突。通话管理主要分为UI交互、服务管理、系统通话管理、通话音频管理、通话视频管理和蓝牙通话管理六大模块,各模块简介如下:
其主要的结构及流程如下图所示:
图 1 通话管理模块架构图
表 1 通话管理对外提供的接口
[]()[]()接口内容 | []()[]()接口描述 | []()[]()所需权限 |
---|---|---|
[]()[]()function dial(phoneNumber: string, options: DialOptions, callback: AsyncCallback): void; | []()[]()拨号接口,调用此接口可以进行拨号操作 | []()[]()ohos.permission.PLACE_CALL |
表 2 拨号接口参数说明
[]()[]()参数 | []()[]()描述 |
---|---|
[]()[]()phoneNumber: string | []()[]()电话号码 |
[]()[]()options: DialOptions | []()[]()扩展参数(详见下表) |
[]()[]()callback: AsyncCallback | []()[]()异步执行结果,true表示执行成功,false表示执行失败 |
表 3 options: DialOptions参数说明
[]()[]()参数 | []()[]()类型 | []()[]()描述 | []()[]()是否必填 | []()[]()默认值 |
---|---|---|---|---|
[]()[]()extras | []()[]()boolean | []()[]()false:音频 true:视频 | []()[]()否 | []()[]()false |
构造phoneNumber和options参数;
可以通过callback或者Promise的方式调用dial接口。
该接口为异步接口,相关执行结果会从callback中返回。
import call from "@ohos.telephony.call";
let phoneNumber = "12312312312";
// 调用接口【callback方式】
call.dial(phoneNumber, {extras: false}, (err, value) = > {
if (err) {
// 接口调用失败,err非空
console.error(`failed to dial because ${err.message}`);
return;
}
// 接口调用成功,err为空
console.log(`success to dial: ${value}`);
});
// 调用接口【Promise方式】
let promise = call.dial(phoneNumber, {extras: false});
promise.then((value) = > {
// 接口调用成功,此处可以实现成功场景分支代码。
console.log(`success to dial: ${value}`);
}).catch((err) = > {
// 接口调用失败,此处可以实现失败场景分支代码。
console.error(`failed to dial because ${err.message}`);
});
审核编辑 黄宇
全部0条评论
快来发表一下你的评论吧 !