文档反馈
文档反馈

集成方式

SDK集成方式

在使用之前请先阅读如下前置条件:

下载、引入SDK

音视频的接入需要依赖 IM 的账号系统,所以音视频的初始化需要依赖 IM 实例,这里需要首先初始化 IM,再初始化音视频

初始化 IM, 完成 IM 的登录连接操作 请参照 IM 初始化章节

  1. 官网 SDK 下载入口
  2. IM功能引入,请引入 NIM_Web_NIM_weixin_v.js,通过 NIM 来获取引用 请确保引入带有weixin名称的微信版本IM SDK
  3. 引入RTC音视频SDK
    • 请引入 NIM_Web_Netcall_weixin_v.js, 通过 NetcallWeixin 来获取引用
    • 调用 NIM.use(NetcallWeixin) 来加载实时音视频插件

请注意IM连接成功后方可进行音视频通话,否则音视频通话会失败

WebSocket超时时间

如果要使用断线重连机制,建议配置WebSocket的超时时间为10秒或更短。小程序连接WebSocket的超时时间为60秒,建议可以配置短一些。

小程序切换至后台后,再切换回前台,如果超时时间过长,将会导致在超时事件触发前,不会进行重连,而要等到超时时间结束后,才会报错进行第二次重连。

{
  ...
  "networkTimeout": {
    "connectSocket": 10000
  },
  ...
}

总体接口介绍

引入SDK脚本并且实例化之后,得到一个SDK工具集合: netcall(自定义变量名),下面我们大致介绍一下最常用的一些接口作用,具体的参数配置请参照后面具体的API介绍

接口名 说明
netcall.call 主叫发起通话
netcall.response 被叫响应通话
netcall.hangup 挂断通话
netcall.startRtc 开启音视频通话
netcall.control 通话过程中发送控制指令: 例如开关摄像头、麦克风,音视频互相切换等等详情
netcall.createChannel 多人通话:创建房间
netcall.joinChannel 多人通话:加入房间
netcall.switchMode 切换通话模式
接口名 说明
netcall.on('syncDone', obj => {}) 同步完成通知
netcall.on('beCalling', obj => {}) 收到呼叫通知
netcall.on('callAccepted', obj => {}) 主叫收到被叫应答通知: 接受
netcall.on('callRejected', obj => {}) 主叫收到被叫应答通知: 拒绝
netcall.on('control', obj => {}) 通话中收到远端的控制指令
netcall.on('hangup', obj => {}) 收到挂断通知
netcall.on('callerAckSync', obj => {}) 其他端已处理的通知
netcall.on('clientJoin', obj => {}) 媒体层有人加入通知
netcall.on('clientLeave', obj => {}) 媒体层有人离开通知
netcall.on('joinChannel', obj => {}) 信令层用户加入房间通知
netcall.on('kicked', obj => {}) 被踢通知
netcall.on('close', obj => {}) 连接关闭通知
netcall.on('error', obj => {}) 错误通知
×

反馈成功

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