集成方式

目前我们提供两种音视频的接入方式,分别是PC AgentWebRTC

PC AgentWebRTC 两种接入方式是相互独立的,没有任何依赖关系,开发者在接入音视频的时候选择任一种SDK的方式即可

下面我们先大致介绍一下各自的兼容性要求,再介绍一下各自的集成方式

兼容性要求

SDK集成方式

PC AgentWebRTC 的集成方式大致相同,都依赖IM账号体系,所以需要首先下载 NIM SDK

下载SDK

引入SDK

总体接口介绍

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

接口名 说明
netcall.call 主叫发起通话
netcall.response 被叫响应通话
netcall.hangup 挂断通话
netcall.control 通话过程中发送控制指令: 例如开关摄像头、麦克风,音视频互相切换,没有可用设备等等详情
netcall.createChannel 多人通话:创建房间
netcall.joinChannel 多人通话:加入房间
netcall.leaveChannel 多人通话:离开房间
接口名 说明
netcall.getDevicesOfType 获取设备列表
netcall.startDevice({type:Netcall.DEVICE_TYPE_VIDEO}) 开启摄像头,将本地视频发送对端
netcall.startDevice({type:Netcall.DEVICE_TYPE_AUDIO_IN}) 开启麦克风,将本地音频发送到对端
netcall.stopDevice(Netcall.DEVICE_TYPE_VIDEO) 关闭摄像头,停止向对端发送本地视频
netcall.stopDevice(Netcall.DEVICE_TYPE_AUDIO_IN) 关闭麦克风,停止向对端发送本地音频
接口名 说明
netcall.setCaptureVolume 采集音量调整,可以控制发送到对端的音频音量
接口名 说明
netcall.startLocalStream 开启自己画面
netcall.stopLocalStream 关闭自己画面
netcall.startRemoteStream 开启对方画面
netcall.stopRemoteStream 关闭对方画面
netcall.startDevice({type: Netcall.DEVICE_TYPE_AUDIO_OUT_CHAT}) 开启自己声音
netcall.stopDevice(Netcall.DEVICE_TYPE_AUDIO_OUT_LOCAL) 关闭自己声音
netcall.startDevice({type: Netcall.DEVICE_TYPE_AUDIO_OUT_CHAT}) 开启对方声音
netcall.stopDevice(Netcall.DEVICE_TYPE_AUDIO_OUT_CHAT) 关闭对方声音
netcall.setPlayVolume 播放音量调整
接口名 说明
netcall.startRecordMp4 开启单人视频录制
netcall.startRecordAac 开启多人混音录制
netcall.stopRecordMp4 结束视频录制
netcall.stopRecordAac 结束混音录制
接口名 说明
netcall.on('beCalling', obj => {}) 收到呼叫通知
netcall.on('callAccepted', obj => {}) 主叫收到被叫应答通知: 接受
netcall.on('callRejected', obj => {}) 主叫收到被叫应答通知: 拒绝
netcall.on('control', obj => {}) 通话进行中收到对端的控制通知
netcall.on('hangup', obj => {}) 收到挂断通知
netcall.on('joinChannel', obj => {}) 收到用户加入房间的通知
netcall.on('leaveChannel', obj => {}) 收到用户离开房间的通知
netcall.on('audioVolume', obj => {}) 当前所有参与通话者的音量大小实时回调通知
netcall.on('callerAckSync', obj => {}) 其他端已处理的通知
netcall.on('error', obj => {}) sdk内部错误或者服务器主动挂断的通知
接口名 说明
netcall.nimSignalingCreate 创建房间
netcall.nimSignalingClose 关闭房间
netcall.nimSignalingJoin 加入房间
netcall.nimSignalingLeave 离开房间
netcall.nimSignalingInvite 邀请别人加入房间
netcall.nimSignalingCancel 取消邀请别人加入房间
netcall.nimSignalingAccept 接受邀请
netcall.nimSignalingReject 拒绝邀请
netcall.nimSignalingControl 控制
netcall.nimSignalingCall 呼叫
netcall.on('nimSignalingOnlineNotify', event => {}) 在线通知
netcall.on('nimSignalingOfflineNotify', eventList => []) 离线通知
netcall.on('nimSignalingMutilClientSyncNotify', event => {}) 在线多端同步通知
netcall.on('nimSignalingChannelsSyncNotify', channelList => []) 频道列表同步
netcall.on('nimSignalingMembersSyncNotify', event => {}) 房间成员变更同步