简介
通话管理模块主要管理CS(Circuit Switch,电路交换)、IMS(IP Multimedia Subsystem,IP多媒体子系统)和OTT(over the top,OTT解决方案)三种类型的通话,负责申请通话所需要的音视频资源,并处理多路通话时产生的各种冲突。通话管理主要分为UI交互、服务管理、系统通话管理、通话音频管理、通话视频管理和蓝牙通话管理六大模块,各模块简介如下:
- UI交互模块:负责和通话UI交互,如UI调用接口拨号,上报来电等状态给UI。
- 服务管理模块:负责启动和初始化系统通话管理服务。
- 系统通话管理模块:负责处理通话下行操作(如拨号、接听、挂断等)和上行状态(来电状态、呼叫等待状态等)的处理,并解决通话过程中产生的冲突。
- 通话音频管理模块:负责通话时需要的音频资源的申请和释放,依赖多媒体子系统,需要调用多媒体子系统接口进行音频相关的操作。
- 通话视频管理模块:负责通话时需要的视频资源的申请和释放,依赖多媒体子系统,需要调用多媒体子系统接口进行视频相关的操作。
- 蓝牙通话管理模块:负责通话时需要的蓝牙资源的申请和释放,并处理蓝牙设备发起的通话操作,如接听和挂断等。
其主要的结构及流程如下图所示:
图 1 通话管理模块架构图
约束
- 开发语言:JavaScript。
- 软件上,需要与以下子系统和服务配合使用:安全子系统,多媒体子系统,软总线基础通信子系统(蓝牙模块),Telephony核心服务(core_service),蜂窝通话服务(cellular_call)。
- 硬件上,需要搭载的设备支持以下硬件:扬声器或听筒、麦克风。
接口说明
表 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}`); });
审核编辑 黄宇
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。
举报投诉
-
鸿蒙
+关注
关注
57文章
2398浏览量
43133
发布评论请先 登录
相关推荐
【书籍评测活动NO.56】极速探索HarmonyOS NEXT:纯血鸿蒙应用开发实践
了解并掌握鸿蒙开发的核心技术,以及鸿蒙应用在实际开发中的应用方法。
本书共分为四篇,共计16章,分别为鸿蒙
发表于 01-20 16:53
鸿蒙Flutter实战:14-现有Flutter 项目支持鸿蒙 II
分别安装官方的3.22版本,以及鸿蒙社区的 3.22.0 版本
3.搭建 Flutter鸿蒙开发环境
参考文章《鸿蒙Flutter实战:0
发表于 12-26 14:59
鸿蒙Flutter实战:11-使用 Flutter SDK 3.22.0
# 使用 Flutter SDK 3.22.0
## SDK 安装
参考[鸿蒙Flutter实战:01-搭建开发环境]文章的说明,首先安装 Flutter SDK 3.22.0。
目前鸿
发表于 11-01 15:03
鸿蒙Flutter实战:09-现有Flutter项目支持鸿蒙
# 鸿蒙Flutter实战:现有Flutter项目支持鸿蒙
## 背景
原来使用Flutter开发的项目,需要适配鸿蒙。
## 环境搭
发表于 10-23 16:36
鸿蒙Flutter实战:08-如何调试代码
# 鸿蒙Flutter实战:如何调试代码
## 1.环境搭建
参考文章[鸿蒙Flutter实战:01-搭建开发环境](https://g
发表于 10-23 16:29
鸿蒙Flutter实战:07混合开发
# 鸿蒙Flutter实战:混合开发
鸿蒙Flutter混合开发主要有两种形式。
## 1.基于har
将flutter module
发表于 10-23 16:00
鸿蒙Flutter实战:01-搭建开发环境
Studio\\\\tools\\\\node
管理多个 Flutter 版本
如果在项目开发中,需要使用多个 Flutter 版本,可以考虑使用 fvm
安装 FVM
使用 fvm 官方 flutter
发表于 10-21 19:35
鸿蒙开发就业前景到底怎么样?
有帮助,我想邀请大家帮我三个小忙:
点赞,转发,有你们的 『点赞和评论』,才是我创造的动力。
关注小编,同时可以期待后续文章ing?,不定期分享原创知识。
更多鸿蒙最新技术知识点,请关注作者博客:鸿蒙实战经验分享:
发表于 05-09 17:37
36岁了还有必要转行鸿蒙开发吗?
。
关注小编,同时可以期待后续文章ing?,不定期分享原创知识。
更多鸿蒙最新技术知识点,请关注作者博客:鸿蒙实战经验分享:鸿蒙基础入门开发
发表于 05-09 17:01
鸿蒙开发实战:【Hdf Framework】
该仓主要存放OpenHarmony驱动子系统核心源码信息(包括驱动框架、配置管理、配置解析、驱动通用框架模型、硬件通用平台能力接口等),旨在为开发者提供更精准、更高效的开发环境,力求做到一次开
![<b class='flag-5'>鸿蒙</b><b class='flag-5'>开发</b><b class='flag-5'>实战</b>:【Hdf Framework】](https://file1.elecfans.com/web2/M00/C5/54/wKgZomX8JR6AIKmGAAC1U9QHQQQ328.jpg)
鸿蒙开发实战:【文件管理】
文件管理相关的功能,使用[@ohos.multimedia.medialibrary]、[@ohos.filemanagement.userFileManager] 、[@ohos.fileio
![<b class='flag-5'>鸿蒙</b><b class='flag-5'>开发</b><b class='flag-5'>实战</b>:【文件<b class='flag-5'>管理</b>】](https://file1.elecfans.com/web2/M00/C5/2E/wKgZomX66t2AGSgfAAExDiFy8dc366.png)
鸿蒙实战应用开发:【拨打电话】功能
电话相关信息的功能
效果预览
使用说明
1.输入电话号码后,点击电话按钮,进行拨打电话。
2.拨打电话后文本框会显示拨打是否成功,是否存在通话,通话状态,是否紧急号码,格式化后的电话号码。
工程目录
发表于 03-04 20:22
鸿蒙实战项目开发:【短信服务】
数据管理
电话服务
分布式应用开发
通知与窗口管理
多媒体技术
安全技能
任务管理
WebGL
国际化开发
应用测试
DFX面向未来设计
发表于 03-03 21:29
鸿蒙这么大声势,为何迟迟看不见岗位?最新数据来了
管理
多媒体技术
安全技能
任务管理
WebGL
国际化开发
应用测试
DFX面向未来设计
鸿蒙系统移植和裁剪定制
……
《鸿蒙
发表于 02-29 20:53
评论