Methods
-
<static> getInstance(options)
-
此接口为单例模式
Parameters:
Name Type Description optionsObject 配置参数
Properties
Name Type Argument Default Description nimNIM NIM 实例
containerNode 播放自己视频画面的dom容器节点,如div、span等非流媒体节点,可为null,可通过后续播放操作时再传入
remoteContainerNode 播放对方画面的dom容器节点,如div、span等非流媒体节点,可为null,可通过后续播放操作时再传入
debugBoolean <optional>
false 是否开启debug模式,默认不开启,debug模式下浏览器会打印log日志
-
<static> setPlayVolume()
-
播放音量调整
Parameters:
Name Type Description options.volumeNumber 音量大小值,取值范围:0-255
options.accountString 账号[WebRTC], 不设置则操作所有远程流
options.uidString 账号[NRTC], 不设置则操作所有远程流
Returns:
volume 实际设置音量大小,取值范围:0-255
- Type
- Number
-
call(options)
-
双人通话:主叫发起通话
Parameters:
Name Type Description optionsObject 请求参数对象
Properties
Name Type Description typeNumber 通话类型
webrtcEnableBoolean 是否支持WebRTC方式接入,可选,默认为不开启
accountString 对方账号
pushConfigObject 推送配置
sessionConfigObject 通话配置
Returns:
- Type
- Promise
-
changeRoleToAudience()
-
多人通话:改变自己在房间中的角色(观众):只允许接收其他人的音频和视频,不能发送自己的音频和视频
Returns:
- Type
- Promise
-
changeRoleToPlayer()
-
多人通话:改变自己在房间中的角色(互动者):可以发送自己的音频和视频给房间中的其他人
Returns:
- Type
- Promise
-
control(controlRequestParam)
-
双人通话:通话过程中发送控制指令: 例如开关摄像头、麦克风,音视频互相切换,没有可用设备
Parameters:
Name Type Description controlRequestParamObject Properties
Name Type Description channelIdString 当前会话的唯一ID值
commandNumber 会话控制指令
Returns:
- Type
- NULL
-
createChannel(options)
-
多人通话:创建房间
Parameters:
Name Type Description optionsObject 配置对象
Properties
Name Type Description channelNameString 房间房号,可以任意英文字母和数组的组合
customString 扩展字段,在通话的创建和加入之间传递自定义的额外信息
webrtcEnableBoolean 如果需要与 WebRTC 客户端互通,需要指定 WebRTC 兼容开关 webrtcEnable 为 true, 如果没有 WebRTC 客户端参与, 不要打开该开关。
createChannelRequestParam.rtmpConfObject 推流配置参数。
Returns:
- Type
- Promise
-
destroy()
-
实例销毁
-
detectNetworkStatus(options)
-
探测网络状况
Parameters:
Name Type Description optionsObject 参数对象
Properties
Name Type Argument Description detectTimeNumber 探测时间建议20s以上;sdk内部最少5秒
fromDeviceBoolean <optional>
是否通过本地摄像头作为探测源(优先级1)
imageNodeElement <optional>
标签节点,传入该参数,则可以使用本地图片作为探测源(优先级2)
videoNodeElement <optional>
-
getDevices(type)
-
获取设备列表
Parameters:
Name Type Description typeNumber 设备类型,详见: DEVICE_TYPE
Returns:
未传type时为Object,传type时为Array
- Type
- Promise
-
getLocalAudioVolume()
-
得到mic采集到的音量
Returns:
- Type
- number
-
hangup()
-
双人通话:挂断通话
Returns:
- Type
- NULL
-
initSignal()
-
初始化信令
- 信令通道初始化完毕之后, 开发者可以启用音视频相关的 UI, 比如说展示呼叫别人的按钮
- 信令通道初始化失败的时候, 请展示错误并禁用所有音视频相关的 UI
- 当信令通道断开时, 会触发 signalClosed 事件
- 注:该方法目前是个假的方法,直接返回Promise.resolve(),原因是为了和agent方案保持一致
Returns:
- Type
- Promise
-
joinChannel(options)
-
多人通话:加入房间
Parameters:
Name Type Description optionsObject 配置对象
Properties
Name Type Description channelNameString 房间房号,可以任意英文字母和数组的组合
roleNumber 个人角色,WebRTC.ROLE_PLAYER表示互动者,WebRTC.ROLE_AUDIENCE表示观众
typeNumber 房间通话类型,音频、视频
sessionConfigObject 通话配置
Returns:
- Type
- Promise
-
leaveChannel()
-
多人通话:离开房间
Returns:
- Type
- Promise
-
response(options)
-
双人通话:被叫响应通话
Parameters:
Name Type Description optionsObject 配置对象
Properties
Name Type Description acceptedBoolean 回应类型
beCalledInfoObject 呼叫信息,必传,该值可以在 beCalling 回调事件中获取(即BeCallingEvent)
sessionConfigObject 通话配置内容,具体信息请参考上面的主叫发起通话时的参数注解
channelIdString 推送配置
commandNumber 通话控制命令
Returns:
- Type
- Promise
-
resumeLocalStream()
-
恢复本地视频流
Returns:
- Type
- NULL
-
resumeRemoteStream(account)
-
恢复所有远程视频流
Parameters:
Name Type Description accountString Returns:
- Type
- NULL
-
setAudioBlack(account)
-
设置指定用户静音
Parameters:
Name Type Description accountString Returns:
- Type
- NULL
-
setAudioStart(account)
-
开启音量
Parameters:
Name Type Description accountString Returns:
- Type
- NULL
-
setAudioStart(options)
-
绕过IM登录,直接开启音视频通话,需传入im登录信息,此接口目前仅适用于 白板+音视频 场景
注意此入口参数为白板服务端透传,无需用户手动拼接Parameters:
Name Type Description optionsObject 请求参数对象
Properties
Name Type Description channelIdNumber 房间ID
netcallTypenumber 通话类型
rtcServerMapObject rtc服务端地址列表
accountUidMapobject account与uid的映射表
Returns:
- Type
- Promise
-
setIsPrivateDeployment(isPrivateDeployment)
-
设置是否使用音视频代理
Parameters:
Name Type Description isPrivateDeploymentBoolean Returns:
- Type
- NULL
-
setMixConf(param)
-
视频和演示混频
Parameters:
Name Type Description paramObject 配置对象
Properties
Name Type Description enableMixVideoBoolean 是否启动混频功能
videoLayoutNumber 混频时摄像头的布局
videoCompressSizeNumber 混频时摄像头压缩的比例
-
setPrivateDeploymentConf()
-
配置音视频代理域名
Parameters:
Name Type Description privateDeploymentConf.wssServerString 媒体网关服务器域名
privateDeploymentConf.turnServerString 媒体中转服务器域名
Returns:
- Type
- NULL
-
setVideoViewRemoteSize(options)
-
设置对端视频画面大小
Parameters:
Name Type Description optionsObject 配置对象
Properties
Name Type Description accountString 账号
widthNumber 宽度
heightNumber 高度
cutBoolean 是否裁剪
Returns:
- Type
- Promise
-
setVideoViewSize(setVideoViewSizeRequestParam)
-
设置本端视频画面大小
Parameters:
Name Type Description setVideoViewSizeRequestParamObject 配置对象
Properties
Name Type Description widthNumber 宽度
heightNumber 高度
cutBoolean 是否裁剪
Returns:
- Type
- Promise
-
startLocalStream(node)
-
开启本地画面
Parameters:
Name Type Description nodeDOM 本地画面待渲染的DOM节点
Returns:
- Type
- Promise
-
startRecordMp4()
-
结束视频录制(6.2.0版本开始废弃该接口)
推荐使用 stopMediaRecording- Deprecated:
-
- Yes
Returns:
- Type
- Promise
-
startRecordMp4(account)
-
开启视频录制(6.2.0版本开始废弃该接口)
推荐使用 startMediaRecordingParameters:
Name Type Description accountString 录制的目标账号,不传或者为空时,默认录制自己
- Deprecated:
-
- Yes
Returns:
- Type
- Promise
-
startRemoteStream(startRemoteStreamRequestParam)
-
开启对方画面
Parameters:
Name Type Description startRemoteStreamRequestParamObject 配置对象
Properties
Name Type Description accountString 目标账号
nodeDOM 视频显示的DOM容器
posterString 无视频流时的默认视频海报图片
Returns:
- Type
- Promise
-
startRtc()
-
开启RTC连接
Returns:
- Type
- Promise
-
stopLocalStream()
-
关闭本地画面
Returns:
- Type
- NULL
-
stopRecordAac()
-
结束混音录制(6.2.0版本开始废弃该接口)
推荐使用 stopMediaRecording- Deprecated:
-
- Yes
Returns:
- Type
- Promise
-
stopRemoteStream(account)
-
关闭对方画面
Parameters:
Name Type Description accountString 目标账号
Returns:
- Type
- NULL
-
suspendLocalStream()
-
暂停本地视频流
Returns:
- Type
- NULL
-
suspendRemoteStream(account)
-
挂起所有远程视频流
Parameters:
Name Type Description accountString Returns:
- Type
- NULL
-
switchAudioToVideo()
-
双人通话:切换视频模式
Returns:
- Type
- NULL
-
switchVideoToAudio()
-
双人通话:切换音频模式
Returns:
- Type
- NULL
Events
-
beCalling
-
beCalling 收到呼叫请求
Type: object
Properties:
Name Type Description channelIdnumber 加入频道ID
accountnumber 用户账号(WebRTC有意义)
uidstring 用户uid
-
callAccepted
-
callAccepted 主叫收到被叫应答通知: 接受
Type: object
-
callerAckSync
-
callerAckSync 其他端已处理的通知
Type: object
-
callRejected
-
callRejected 主叫收到被叫应答通知: 拒绝
Type: object
-
control
-
control 通话进行中收到对端的控制通知
Type: object
-
hangup
-
hangup 收到挂断通知
Type: object
-
sessionDuration
-
sessionDuration 通话计时完成的通知
Type: object