文档反馈
文档反馈

呼叫组件概述

背景信息

为了方便开发者快速接入音视频通话 2.0,提升应用的研发效率,音视频通话 2.0 和信令产品携手为您打造业务层呼叫组件 NERTCCallkit,组件中集成了音视频通话 2.0 和信令的多项基础功能,全方位提升接入效率。

NERTCCallkit 呼叫组件对外开源,通过音视频通信 2.0 SDK 和信令 SDK 分别实现音视频通话和呼叫邀请机制。

组件下载

您可以根据需求下载对应平台的组件源码。

Android iOS Windows Web
下载 Android 呼叫组件 下载 iOS 呼叫组件 下载 Windows 呼叫组件 下载 Web 呼叫组件

开通相关服务

使用呼叫组件之前,请根据您的需求开通对应的服务。

产品 说明
IM 即时通讯 在控制台创建应用之后,系统默认为您开通 IM 免费版。应用测试阶段可暂时使用免费版,但免费版有账号和消息限制,应用正式上线前,请开通 IM 正式版。
音视频通话 2.0 使用呼叫组件之前,请确认您已开通了音视频通话 2.0 产品。
注意:若您需要使用话单功能,请联系销售或技术支持人员协助开通。
信令 信令产品用于搭建音视频场景下的呼叫邀请机制。在使用呼叫组件之前,请确认您已开通了信令产品。

功能概述

组件技术架构

呼叫组件技术架构

呼叫组件客户端 API 概览

支持以下组件层接口,同时支持应用直接访问 RTC 接口。

组件层需要区分语音通话和视频通话两个场景,Call 接口中增加语音、视频参数。

多人场景不封装在组件中,在应用层实现,目前即时通讯也是此方案。

接口名称 说明 参数
setupAppKey 初始化。使用呼叫组件功能前,必须初始化。 appKey:应用的 APP Key。
options,包括:
useRtcSafeMode:是否使用安全模式,默认为true,即使用安全模式。
apnsCerName:APNS 推送证书(仅 iOS端需要配置)。
voIPCerName:pushkit 证书(仅 iOS端需要配置)。

以下参数仅适用于 Web 端:
resolution:视频分辨率。
frameRate:视频帧率。
quality:音频质量。
若未指定 resolution、frameRate 或 quality,则取默认值。

login 登录 IM,所有功能需要先进行登录后才能使用。 account:IM 账号
token:IM 密码
completion:回调
logout 登出 IM。 completion:回调
call 开始呼叫。 userID:用户 userID
type:音频/视频
completion:回调
groupCall 群聊呼叫。 userIDs: userID 列表
type:音频/视频
completion(error):回调
cancel 取消呼叫(1对1)。 completion:回调
accept 接受呼叫。 completion:回调
reject 拒绝呼叫。 completion:回调
hangup 挂断,同时挂断其他人。 completion:回调
leave 离开,不影响通话中的其他人。 completion:回调
setupLocalView 设置自己画面。 view:视图
setupRemoteView 设置其他用户画面。 view:视图
userID:userID(统一类型)
enableLocalVideo 开启/关闭摄像头。 enabled:是否开启
muteLocalAudio 开启/关闭麦克风。 mute:是否静音
switchCamera 切换摄像头。 -
getDevices(仅Web端) 获取设备列表。 data:设备列表,包括扬声器、麦克风和摄像头
switchDevice(仅Web端) 切换设备。 type:设备类型
deviceId:设备Id
switchCallType 视频通话/音频通话相互切换。 type: 音频/视频(视频预留,暂不支持)
completion: 回调
setAudioMute 禁言指定用户。 mute: 是否静音
userID: 需要静音的用户 accID
addDelegate(listener, callback) 添加代理,接收回调。 delegage:代理

回调接口概览

NERtcCallKitDelegate 回调接口列表如下:

方法名 说明 参数
onInvited 收到对方邀请 invitor:发起人
userIDs:房间中除 invitor 之外所有人的 ID
isFromGroup:是否为群聊呼叫
groupID: 透传 groupCall 传入的 groupID,点对点通话则为 null
type:音频/视频
onUserEnter 对方加入通话 userID
onUserReject 对方拒绝邀请 userID
onUserCancel 对方取消邀请(1对1) userID
onUserBusy 对方忙线 userID
onUserLeave 对方退出群聊房间 userID
onUserAccept 用户接受邀请 userID
onUserDisconnect 用户异常情况断开的回调 userID
onOtherClientAccept 当前邀请被其他在线的端接收的回调 -
onOtherClientReject 当前邀请被其他在线的端拒绝的回调 -
onUserNetworkQuality 网络状态回调 stats: 回调 map,其中 key 为 accid,value 为NERtcNetworkQualityStats 对象
onCallTypeChange 音视频通话类型切换的回调,仅限点对点。 type: 音频/视频
onDisconnect 音视频断开回调上抛 reason: 断开原因。Web端暂不支持此参数。
onCallingTimeOut 邀请超时 -
onCameraAvailable 开启/关闭相机 userID:用户ID
available:摄像头是否可用
onAudioAvailable 开启/关闭麦克风 userID:用户
IDavailable:摄像头是否可用
onCallEnd 通话结束 -
onError 不影响流程的error error
×

反馈成功

非常感谢您的反馈,我们会继续努力做得更好。