Members
-
<static, readonly> CHAT_NET_STATUS_*
-
网络状态类型
- Netcall.CHAT_NET_STATUS_VERY_GOOD 网络状态很好
- Netcall.CHAT_NET_STATUS_GOOD 网络状态较好
- Netcall.CHAT_NET_STATUS_POOR 网络状态较差
- Netcall.CHAT_NET_STATUS_BAD 网络状态很差
- Netcall.CHAT_NET_STATUS_VERY_BAD 网络状态极差,考虑是否关闭视频
- Netcall.CHAT_NET_STATUS_VERY_BAD_VIDEO_CLOSE 网络状态极差,视频强制关闭
-
<static, readonly> CHAT_VIDEO_ENCODEMODE_*
-
视频编码策略
- Netcall.CHAT_VIDEO_ENCODEMODE_NORMAL 默认值,清晰优先
- Netcall.CHAT_VIDEO_ENCODEMODE_SMOOTH 流畅优先
- Netcall.CHAT_VIDEO_ENCODEMODE_QUALITY 清晰优先
- Netcall.CHAT_VIDEO_ENCODEMODE_SCREEN 高清,不根据网络情况调整分辨率
-
<static, readonly> CHAT_VIDEO_FRAME_RATE_*
-
视频通话帧率,实际帧率因画面采集频率和机器性能限制可能达不到期望值
- Netcall.CHAT_VIDEO_FRAME_RATE_NORMAL 视频通话帧率默认值 最大取每秒15帧
- Netcall.CHAT_VIDEO_FRAME_RATE_5 视频通话帧率 最大取每秒5帧
- Netcall.CHAT_VIDEO_FRAME_RATE_10 视频通话帧率 最大取每秒10帧
- Netcall.CHAT_VIDEO_FRAME_RATE_15 视频通话帧率 最大取每秒15帧
- Netcall.CHAT_VIDEO_FRAME_RATE_20 视频通话帧率 最大取每秒20帧
- Netcall.CHAT_VIDEO_FRAME_RATE_25 视频通话帧率 最大取每秒25帧
-
<static, readonly> CHAT_VIDEO_QUALITY_*
-
视频通话分辨率
- Netcall.CHAT_VIDEO_QUALITY_NORMAL 视频默认分辨率 640x480
- Netcall.CHAT_VIDEO_QUALITY_LOW 视频低分辨率 176x144
- Netcall.CHAT_VIDEO_QUALITY_MEDIUM 视频中分辨率 352x288
- Netcall.CHAT_VIDEO_QUALITY_HIGH 视频高分辨率 480x320
- Netcall.CHAT_VIDEO_QUALITY_480P 视频480p分辨率 640x480
- Netcall.CHAT_VIDEO_QUALITY_540P 视频540P分辨率 960x540
- Netcall.CHAT_VIDEO_QUALITY_720P 用于桌面分享级别的分辨率 1280x720 ,需要使用高清摄像头并指定对应的分辨率,或者自定义通道传输
-
<static, readonly> CHAT_VIDEO_SCALE_*
-
视频画面按比例裁剪,裁剪时不改变横竖屏,默认不裁剪
- Netcall.CHAT_VIDEO_SCALE_None 长宽不裁剪,全部显示
- Netcall.CHAT_VIDEO_SCALE_1x1 裁剪成1:1的形状
- Netcall.CHAT_VIDEO_SCALE_4x3 裁剪成4:3的形状
- Netcall.CHAT_VIDEO_SCALE_16x9 裁剪成16:9的形状
-
<static, readonly> CLIENT_TYPE_*
-
端类型
- Netcall.CLIENT_TYPE_AOS Android
- Netcall.CLIENT_TYPE_IOS iOS
- Netcall.CLIENT_TYPE_PC pc
- Netcall.CLIENT_TYPE_WINPHONE WinPhone
- Netcall.CLIENT_TYPE_WEB web
- Netcall.CLIENT_TYPE_REST rest
-
<static, readonly> DEVICE_TYPE_*
-
设备类型
- Netcall.DEVICE_TYPE_AUDIO_IN 麦克风
- Netcall.DEVICE_TYPE_AUDIO_OUT_LOCAL 用于播放自己声音的设备
- Netcall.DEVICE_TYPE_AUDIO_OUT_CHAT 播放对方声音的扬声器
- Netcall.DEVICE_TYPE_VIDEO 摄像头
-
<static, readonly> LAYOUT_*
-
媒体加密算法类型
- Netcall.LAYOUT_SPLITBOTTOMHORFLOATING 底部横排浮窗
- Netcall.LAYOUT_SPLITTOPHORFLOATING 顶部横排浮窗
- Netcall.LAYOUT_SPLITLATTICETILE 平铺
- Netcall.LAYOUT_SPLITLATTICECUTTINGTILE 裁剪平铺
- Netcall.LAYOUT_SPLITCUSTOMLAYOUT 自定义布局
- Netcall.LAYOUT_SPLITAUDIOLAYOUT 纯音频布局
-
<static, readonly> LAYOUT_*
-
直播推流布局
- Netcall.LAYOUT_SPLITBOTTOMHORFLOATING 底部横排浮窗
- Netcall.LAYOUT_SPLITTOPHORFLOATING 顶部横排浮窗
- Netcall.LAYOUT_SPLITLATTICETILE 平铺
- Netcall.LAYOUT_SPLITLATTICECUTTINGTILE 裁剪平铺
- Netcall.LAYOUT_SPLITCUSTOMLAYOUT 自定义布局
- Netcall.LAYOUT_SPLITAUDIOLAYOUT 纯音频布局
-
<static, readonly> NETCALL_CONTROL_COMMAND_*
-
控制指令
- Netcall.NETCALL_CONTROL_COMMAND_NOTIFY_AUDIO_ON 通知对方自己打开了音频
- Netcall.NETCALL_CONTROL_COMMAND_NOTIFY_AUDIO_OFF 通知对方自己关闭了音频
- Netcall.NETCALL_CONTROL_COMMAND_NOTIFY_VIDEO_ON 通知对方自己打开了视频
- Netcall.NETCALL_CONTROL_COMMAND_NOTIFY_VIDEO_OFF 通知对方自己关闭了视频
- Netcall.NETCALL_CONTROL_COMMAND_SWITCH_AUDIO_TO_VIDEO 请求从音频切换到视频
- Netcall.NETCALL_CONTROL_COMMAND_SWITCH_AUDIO_TO_VIDEO_AGREE 同意从音频切换到视频
- Netcall.NETCALL_CONTROL_COMMAND_SWITCH_AUDIO_TO_VIDEO_REJECT 拒绝从音频切换到视频
- Netcall.NETCALL_CONTROL_COMMAND_SWITCH_VIDEO_TO_AUDIO 从视频切换到音频
- Netcall.NETCALL_CONTROL_COMMAND_BUSY 占线
- Netcall.NETCALL_CONTROL_COMMAND_SELF_CAMERA_INVALID 自己的摄像头不可用
- Netcall.NETCALL_CONTROL_COMMAND_SELF_AUDIO_INVALID 自己的麦克风不可用
- Netcall.NETCALL_CONTROL_COMMAND_SELF_ON_BACKGROUND 自己处于后台
- Netcall.NETCALL_CONTROL_COMMAND_START_NOTIFY_RECEIVED 告诉发送方自己已经收到请求了(用于通知发送方开始播放提示音)
- Netcall.NETCALL_CONTROL_COMMAND_NOTIFY_RECORD_START 告诉对方自己开始录制视频了
- Netcall.NETCALL_CONTROL_COMMAND_NOTIFY_RECORD_STOP 告诉对方自己结束录制视频了
-
<static, readonly> NETCALL_TYPE_*
-
音视频通话类型
- Netcall.NETCALL_TYPE_AUDIO 音频
- Netcall.NETCALL_TYPE_VIDEO 视频
-
<static, readonly> NETDETECT_*
-
网络探测类型选择
- Netcall.NETDETECT_AUDIO 音频探测
- Netcall.NETDETECT_VIDEO 视频探测
Methods
-
<static> getInstance(options)
-
此接口为单例模式
Parameters:
Name Type Description options
Object 配置参数
Properties
Name Type Argument Default Description kickLast
Boolean <optional>
false 是否踢掉上次的通话, 默认 false
nim
NIM NIM 实例
container
Node 播放自己视频画面的dom容器节点
remoteContainer
Node 播放对方画面的dom容器节点
mirror
Boolean <optional>
false agent方式: 是否对自己的画面进行镜像处理, 默认 false
mirrorRemote
Boolean <optional>
false agent方式: 是否对对方的画面进行镜像处理, 默认 false
heartbeat
Boolean <optional>
true 是否心跳(开发者调试用,为了避免断点调试导致心跳超时,正式版本请勿设置)
-
call(options)
-
发起音视频呼叫
Parameters:
Name Type Argument Default Description options
Object 配置参数
Properties
Name Type Argument Description type
Number account
String 对方账号
pushConfig
Object <optional>
推送配置
Properties
Name Type Argument Default Description enable
Boolean <optional>
true 是否需要推送, 默认 true
needBadge
Boolean <optional>
true 是否需要角标计数, 默认 true
needPushNick
Boolean <optional>
true 是否需要推送昵称, 默认 true
pushContent
String <optional>
推送内容
custom
String <optional>
自定义通知数据
pushPayload
String <optional>
JSON格式的推送 payload
sound
String <optional>
推送声音
sessionConfig
Object <optional>
会话配置
option.sessionConfig.videoEncodeMode
Number <optional>
视频编码策略
,默认清晰优先options.sessionConfig.videoQuality
Number <optional>
视频分辨率
,实际帧率因画面采集频率和机器性能限制可能达不到期望值
注:该参数发送给对方的分辨率,如果摄像头的分辨率比这个大会缩小,如果摄像头的分辨率比这个小则直接发送options.sessionConfig.videoFrameRate
Number <optional>
options.sessionConfig.videoBitrate
Number <optional>
视频码率, >=100000 <= 5000000 有效
options.sessionConfig.highAudio
Boolean <optional>
false 高清语音开关, 默认关闭
options.sessionConfig.recordVideo
Boolean <optional>
false 视频录制开关, 默认关闭
options.sessionConfig.recordAudio
Boolean <optional>
false 音频录制开关, 默认关闭
Returns:
- Type
- Promise
-
changeRoleToAudience()
-
互动者切换到观众
Returns:
- Type
- Promise
-
changeRoleToPlayer()
-
观众切换到互动者
Returns:
- Type
- Promise
-
control(options)
-
发送音视频通话控制指令
Parameters:
Name Type Default Description options
Object {} 配置参数
Properties
Name Type Argument Description channelId
String <optional>
要发送指令的通话的 channelId, 如果不填那么默认为当前通话
command
Number <optional>
可选控制指令请参考
Netcall.NETCALL_CONTROL_COMMAND_*
Returns:
- Type
- Void
-
createChannel(options)
-
创建频道
Parameters:
Name Type Description options
Object 配置参数
Properties
Name Type Description channelName
Number 频道名称
custom
String 扩展字端(用于上层放自定义数据,选填)
Returns:
- Type
- Promise
-
getAccount()
-
获取当前登录的 IM 账号
Returns:
- Type
- String
-
getStartedDeviceOfType(type)
-
获取当前开启的指定类型的设备
Parameters:
Name Type Description type
String 可选设备类型请参考
Netcall.DEVICE_TYPE_*
Returns:
- Type
- Void
-
getStoredDevicesOfType(type)
-
获取已经存储的指定类型的所有设备
Parameters:
Name Type Description type
Number 可选设备类型请参考
Netcall.DEVICE_TYPE_*
Returns:
- Type
- Void
-
hangup( [channelId])
-
挂断音视频通话
Parameters:
Name Type Argument Description channelId
String <optional>
要挂断的通话的 channelId, 如果不填那么挂断当前通话
Returns:
- Type
- Void
-
hasDevicesOfType(type)
-
是否有指定类型的设备
返回对应的设备信息Parameters:
Name Type Description type
String 可选设备类型请参考
Netcall.DEVICE_TYPE_*
Returns:
- Type
- Void
-
hasStartedDeviceOfType(type)
-
当前是否有开启指定类型的设备
Parameters:
Name Type Description type
String 可选设备类型请参考
Netcall.DEVICE_TYPE_*
Returns:
- Type
- Boolean
-
initSignal()
-
初始化信令
- 信令通道初始化完毕之后, 开发者可以启用音视频相关的 UI, 比如说展示呼叫别人的按钮
- 信令通道初始化失败的时候, 请展示错误并禁用所有音视频相关的 UI
- 初始化过程中会通过 devices 事件回传所有的设备列表
- 当信令通道断开时, 会触发 signalClosed 事件
- 设备状态的错误类型约定:
device_busy: 设备被占用
agent_update: 插件有更新
agent_empty: 没有安装插件
Returns:
- Type
- Promise
-
isCurrentChannelId()
-
是当前会话的 channelId
Returns:
- Type
- Boolean
-
joinChannel(options)
-
主动加入频道
Parameters:
Name Type Argument Default Description options
Object 音视频相关配置参数
Properties
Name Type Description channelName
String 频道名称
type
Number option.liveEnable
Boolean 是否开启旁路直播,可选 true / false(默认不开启)
options.sessionConfig
Object 会话配置
option.sessionConfig.videoEncodeMode
Number <optional>
视频编码策略
,默认流畅优先(暂不支持实时设置)options.sessionConfig.videoQuality
Number 视频分辨率
,实际效果因画面采集频率和机器性能限制可能达不到期望值options.sessionConfig.videoFrameRate
Number 视频帧率
,实际效果因画面采集频率和机器性能限制可能达不到期望值options.sessionConfig.videoBitrate
Number 视频码率, >=100000 <= 5000000 有效
options.sessionConfig.highAudio
Boolean <optional>
false 高清语音开关, 默认关闭
options.sessionConfig.recordVideo
Boolean <optional>
false 视频录制开关, 默认关闭
options.sessionConfig.recordAudio
Boolean <optional>
false 音频录制开关, 默认关闭
options.sessionConfig.rtmpUrl
Boolean 推流地址
options.sessionConfig.rtmpRecord
Boolean <optional>
false 推流服务端录制开关, 默认关闭
options.sessionConfig.splitMode
Boolean 推流的布局,
布局类型
默认平铺options.sessionConfig.layout
String 自定义布局,当主播选择推流布局为: LAYOUT_SPLITCUSTOMLAYOUT 和 LAYOUT_SPLITAUDIOLAYOUT 模式时生效
Returns:
- Type
- Promise
-
leaveChannel()
-
离开频道
Returns:
- Type
- Promise
-
netDetect( [type] [, quality])
-
网络探测
Parameters:
Name Type Argument Default Description type
Number <optional>
Netcall.NETDETECT_AUDIO quality
Number <optional>
Netcall.CHAT_VIDEO_QUALITY_NORMAL Returns:
- Type
- Void
-
notCurrentChannelId()
-
不是当前会话的 channelId
Returns:
- Type
- Boolean
-
response( [options])
-
响应音视频被呼叫
调用此接口前需要先初始化信令
Parameters:
Name Type Argument Default Description options
Object <optional>
{} 配置参数
Properties
Name Type Argument Default Description accepted
Boolean <optional>
true true 接听, false 拒绝
beCalledInfo
Object 被呼叫的信息, 在 beCalling 事件里可以接收到的信息
sessionConfig
Object <optional>
会话配置
option.sessionConfig.videoEncodeMode
Number <optional>
视频编码策略
,默认清晰优先options.sessionConfig.videoQuality
Number <optional>
视频分辨率
,实际帧率因画面采集频率和机器性能限制可能达不到期望值
注:该参数发送给对方的分辨率,如果摄像头的分辨率比这个大会缩小,如果摄像头的分辨率比这个小则直接发送options.sessionConfig.videoFrameRate
Number <optional>
options.sessionConfig.videoBitrate
Number <optional>
视频码率, >=100000 <= 5000000 有效
options.sessionConfig.highAudio
Boolean <optional>
false 高清语音开关, 默认关闭
options.sessionConfig.recordVideo
Boolean <optional>
false 视频录制开关, 默认关闭
options.sessionConfig.recordAudio
Boolean <optional>
false 音频录制开关, 默认关闭
options.sessionConfig.recordAudio
Boolean <optional>
false 录制模式,0:参与混合录制并且录制单人文件 1:只参与混合录制 2:只录制单人文件
options.sessionConfig.recordType
Number <optional>
0 音频录制开关, 默认关闭
Returns:
- Type
- Promise
-
resumeLocalStream()
-
继续播放自己的视频画面 #废弃
Returns:
- Type
- Void
-
resumeRemoteStream()
-
继续播放对方的视频画面 #废弃 请使用startRemoteStream
Returns:
- Type
- Void
-
setAudioBlack(account)
-
设置目标静音
Parameters:
Name Type Description account
Number 账号
Returns:
- Type
- Void
-
setAudioStart(account)
-
设置目标非静音
Parameters:
Name Type Description account
Number 账号
Returns:
- Type
- Void
-
setCaptureVolume(num)
-
设置采集音量
Parameters:
Name Type Description num
Number 音量大小, 0-255
Returns:
- Type
- Void
-
setPlayVolume(options)
-
设置播放音量
Parameters:
Name Type Default Description options
Object {} 配置参数
Properties
Name Type Description volume
Number 音量大小, 0-255, 必填
Returns:
- Type
- Void
-
setVideoScale(options)
-
裁剪画面尺寸和比例: 不裁剪 / 1:1 / 4:3 / 16 : 9
Parameters:
Name Type Default Description options
Object {} 配置参数
Properties
Name Type Argument Default Description account
String 对象账号,不填操作全部远程流
type
Number <optional>
Netcall.CHAT_VIDEO_SCALE_None 裁剪比例,默认不裁剪,选值类型请参考
Netcall.CHAT_VIDEO_SCALE_*
Returns:
- Type
- Promise
-
setVideoViewRemoteSize(options)
-
设置对方画面的尺寸
最终显示的画面不大于所设置的宽和高
备注:视频画面大小设置完全基于摄像头开启的大小,如果设置的大小超过摄像头开启的大小,结果以摄像头开启尺寸为准!Parameters:
Name Type Default Description options
Object {} 配置参数
Properties
Name Type Argument Default Description account
String 对象账号,不填操作全部远程流
width
Number 宽度
height
Number 高度
cut
Number <optional>
true 是否需要剪裁, 默认按1:1比例剪裁(画面不变形), cut: true, 画面按照提供的宽高等比例裁剪,返回裁剪后的实际大小, cut: false, 画面不进行裁剪, 返回按原始宽高比例放大缩小后的实际宽高
注: agent为了解决绿屏的问题,宽高需要设置为8的倍数,即使开发者设置的不是8的倍数,agent也会计算出不超过所设置宽高的最接近8的倍数的宽高Returns:
- Type
- Promise
-
setVideoViewSize(options)
-
设置自己画面的尺寸
最终显示的画面不大于所设置的宽和高
备注:视频画面大小设置完全基于摄像头开启的大小,如果设置的大小超过摄像头开启的大小,结果以摄像头开启尺寸为准!Parameters:
Name Type Default Description options
Object {} 配置参数
Properties
Name Type Argument Default Description width
Number 宽度
height
Number 高度
cut
Number <optional>
true 是否需要剪裁, 默认按1:1比例剪裁(画面不变形), cut: true, 画面按照提供的宽高等比例裁剪,返回裁剪后的实际大小, cut: false, 画面不进行裁剪, 返回按原始宽高比例放大缩小后的实际宽高
注: agent为了解决绿屏的问题,宽高需要设置为8的倍数,即使开发者设置的不是8的倍数,agent也会计算出不超过所设置宽高的最接近8的倍数的宽高Returns:
- Type
- Promise
-
startDevice(options)
-
开启设备
Parameters:
Name Type Description options
Object 配置参数
Properties
Name Type Argument Description type
Number 设备类型
device
Object <optional>
设备, 如果没有指定, 那么开启该类型的第一个设备
width
Number <optional>
如果启动视频设备, 设置摄像头捕获的视频的最大宽度
height
Number <optional>
如果启动视频设备, 设置摄像头捕获的视频的最大高度
Returns:
- Type
- Promise
-
startLocalStream(node)
-
开启本地视频流
Parameters:
Name Type Description node
Node 本地视频流dom节点 可选
Returns:
- Type
- Void
-
startRecordAac(options)
-
混音本地录制(所有流一起录)
Parameters:
Name Type Description options
Object Properties
Name Type Description path
String 路径地址 如E:\wenjian\abc.aac
Returns:
- Type
- Promise
-
startRecordMp4(options)
-
本地录制(录自己) 请监听recordMp4事件为正式开始录制回调 netcall.on('recordMp4',function(data){})
Parameters:
Name Type Description options
Object Properties
Name Type Argument Default Description path
String 路径地址 如E:\wenjian\abc.mp4
account
String <optional>
需要录制的目标,默认录制自己
aac
Boolean <optional>
false 是否需要混音录制,默认关闭
recode
Boolean <optional>
true 是否允许视频重新编码,默认开启
width
Number <optional>
录制Mp4的宽度,默认为0,小于16无效,无效时取视频默认宽度
height
Number <optional>
录制Mp4的高度,默认为0,小于16无效,无效时取视频默认高度
Returns:
- Type
- Void
-
startRemoteStream(options)
-
开启远程视频流
Parameters:
Name Type Default Description options
Object {} 配置参数
Properties
Name Type Description account
String 账号, 不设置则操作所有远程流
node
Node 视频画面显示的dom容器节点
Returns:
- Type
- Void
-
stopDevice(type)
-
停止指定类型的设备
Parameters:
Name Type Description type
String 可选设备类型请参考
Netcall.DEVICE_TYPE_*
Returns:
- Type
- Void
-
stopLocalStream()
-
停止本地视频流
Returns:
- Type
- Void
-
stopRecordAac()
-
停止混音本地录制
Returns:
- Type
- Promise
-
stopRecordMp4()
-
停止本地录制(录自己)
Returns:
- Type
- Promise
-
stopRemoteStream(account)
-
关闭远程视频流
Parameters:
Name Type Description account
String 对应的nim账号, 不设置则操作所有远程流
Returns:
- Type
- Void
-
stopSignal()
-
停止信令通道
Returns:
- Type
- Promise
-
suspendLocalStream()
-
暂停播放自己的视频画面 #废弃
Returns:
- Type
- Void
-
suspendRemoteStream()
-
暂停播放对方的视频画面 #废弃 请使用stopRemoteStream
Returns:
- Type
- Void
-
switchAudioToVideo()
-
从音频模式切换为视频模式
Returns:
- Type
- Void
-
switchVideoToAudio()
-
从视频模式切换为音频模式
Returns:
- Type
- Void
-
updateRtmpUrl(url)
-
更新推流地址
Parameters:
Name Type Description url
String 新地址
Returns:
- Type
- Promise