鸿蒙开发实战【通话管理】

鸿蒙开发实战【通话管理】通话管理模块主要管理 CS CircuitSwitc 电路交换 IMS IPMultimedia IP 多媒体子系统 和 OTT overthetop OTT 解决方案 三种类型的通

大家好,欢迎来到IT知识分享网。

简介

通话管理模块主要管理CS(Circuit Switch,电路交换)、IMS(IP Multimedia Subsystem,IP多媒体子系统)和OTT(over the top,OTT解决方案)三种类型的通话,负责申请通话所需要的音视频资源,并处理多路通话时产生的各种冲突。通话管理主要分为UI交互、服务管理、系统通话管理、通话音频管理、通话视频管理和蓝牙通话管理六大模块,各模块简介如下:

  1. UI交互模块:负责和通话UI交互,如UI调用接口拨号,上报来电等状态给UI。
  2. 服务管理模块:负责启动和初始化系统通话管理服务。
  3. 系统通话管理模块:负责处理通话下行操作(如拨号、接听、挂断等)和上行状态(来电状态、呼叫等待状态等)的处理,并解决通话过程中产生的冲突。
  4. 通话音频管理模块:负责通话时需要的音频资源的申请和释放,依赖多媒体子系统,需要调用多媒体子系统接口进行音频相关的操作。
  5. 通话视频管理模块:负责通话时需要的视频资源的申请和释放,依赖多媒体子系统,需要调用多媒体子系统接口进行视频相关的操作。
  6. 蓝牙通话管理模块:负责通话时需要的蓝牙资源的申请和释放,并处理蓝牙设备发起的通话操作,如接听和挂断等。

其主要的结构及流程如下图所示:

图 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

使用说明

拨打电话接口调用流程及示例代码

  1. 构造phoneNumber和options参数;
  2. 可以通过callback或者Promise的方式调用dial接口。
  3. 该接口为异步接口,相关执行结果会从callback中返回。
    import call from "@ohos.telephony.call"; let phoneNumber = ""; // 调用接口【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}`); }); 

    鸿蒙OpenHarmony知识已更新←前往

7c4c6d2ecaed023f7acc2711bdc15e0a.jpeg

免责声明:本站所有文章内容,图片,视频等均是来源于用户投稿和互联网及文摘转载整编而成,不代表本站观点,不承担相关法律责任。其著作权各归其原作者或其出版社所有。如发现本站有涉嫌抄袭侵权/违法违规的内容,侵犯到您的权益,请在线联系站长,一经查实,本站将立刻删除。 本文来自网络,若有侵权,请联系删除,如若转载,请注明出处:https://haidsoft.com/142903.html

(0)
上一篇 2025-05-07 14:10
下一篇 2025-05-07 14:15

相关推荐

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注微信