new Netcall()
请使用 Netcall.getInstance 来初始化音视频.
Members
-
static,readonlyNetcall.CHAT_NET_STATUS_*
-
网络状态类型
- Netcall.CHAT_NET_STATUS_VERY_GOOD 网络状态很好
- Netcall.CHAT_NET_STATUS_GOOD 网络状态较好
- Netcall.CHAT_NET_STATUS_BAD 网络状态较差
- Netcall.CHAT_NET_STATUS_VERY_BAD 网络状态很差
-
static,readonlyNetcall.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,readonlyNetcall.CHAT_VIDEO_QUALITY_*
-
视频通话分辨率
- Netcall.CHAT_VIDEO_QUALITY_NORMAL 视频默认分辨率 480x320
- 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_720P 用于桌面分享级别的分辨率 1280x720 ,需要使用高清摄像头并指定对应的分辨率,或者自定义通道传输
-
static,readonlyNetcall.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,readonlyNetcall.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,readonlyNetcall.DEVICE_TYPE_*
-
设备类型
- Netcall.DEVICE_TYPE_AUDIO_IN 麦克风
- Netcall.DEVICE_TYPE_AUDIO_OUT_LOCAL 用于播放自己声音的设备
- Netcall.DEVICE_TYPE_AUDIO_OUT_CHAT 播放对方声音的扬声器
- Netcall.DEVICE_TYPE_VIDEO 摄像头
-
static,readonlyNetcall.LAYOUT_*
-
直播推流布局
- Netcall.LAYOUT_SPLITBOTTOMHORFLOATING 底部横排浮窗
- Netcall.LAYOUT_SPLITTOPHORFLOATING 顶部横排浮窗
- Netcall.LAYOUT_SPLITLATTICETILE 平铺
- Netcall.LAYOUT_SPLITLATTICECUTTINGTILE 裁剪平铺
-
static,readonlyNetcall.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_ON_BACKGROUND 自己处于后台
- Netcall.NETCALL_CONTROL_COMMAND_START_NOTIFY_RECEIVED 告诉发送方自己已经收到请求了(用于通知发送方开始播放提示音)
- Netcall.NETCALL_CONTROL_COMMAND_NOTIFY_RECORD_START 告诉对方自己开始录制视频了
- Netcall.NETCALL_CONTROL_COMMAND_NOTIFY_RECORD_STOP 告诉对方自己结束录制视频了
-
static,readonlyNetcall.NETCALL_TYPE_*
-
音视频通话类型
- Netcall.NETCALL_TYPE_AUDIO 音频
- Netcall.NETCALL_TYPE_VIDEO 视频
Methods
-
staticNetcall.getInstance(options)
-
此接口为单例模式
Params:
Name Type Description optionsObject 配置参数
Name Type Default Description kickLastBoolean false optional 是否踢掉上次的通话, 默认 false
nimNIM NIM 实例
containerNode 播放自己视频画面的容器节点
remoteContainerNode 播放对方画面的容器节点
mirrorBoolean false optional 是否对自己的画面进行镜像处理, 默认 false
mirrorRemoteBoolean false optional 是否对对方的画面进行镜像处理, 默认 false
heartbeatBoolean true optional 是否心跳(开发者调试用,为了避免断点调试导致心跳超时,正式版本请勿设置)
-
call(options){Promise}
-
发起音视频呼叫
Params:
Name Type Description optionsObject 配置参数
Name Type Description typeNumber accountString 对方账号
pushConfigObject optional 推送配置
Name Type Default Description enableBoolean true optional 是否需要推送, 默认 true
needBadgeBoolean true optional 是否需要角标计数, 默认 true
needPushNickBoolean true optional 是否需要推送昵称, 默认 true
pushContentString optional 推送内容
customString optional 自定义通知数据
pushPayloadString optional JSON格式的推送 payload
soundString optional 推送声音
sessionConfigObject optional 会话配置
Name Type Default Description videoQualityNumber optional 视频分辨率,实际帧率因画面采集频率和机器性能限制可能达不到期望值videoFrameRateNumber optional videoBitrateNumber optional 视频码率, >=100000 <= 5000000 有效
highAudioBoolean false optional 高清语音开关, 默认关闭
recordVideoBoolean false optional 视频录制开关, 默认关闭
recordAudioBoolean false optional 音频录制开关, 默认关闭
Returns:
Type Description Promise -
control(options){Void}
-
发送音视频通话控制指令
Params:
Name Type Default Description optionsObject {} 配置参数
Name Type Description channelIdString optional 要发送指令的通话的 channelId, 如果不填那么默认为当前通话
commandNumber optional 可选控制指令请参考
Netcall.NETCALL_CONTROL_COMMAND_*Returns:
Type Description Void -
createChannel(options){Promise}
-
创建频道
Params:
Name Type Description optionsObject 配置参数
Name Type Description channelNameNumber 频道名称
customString 扩展字端(用于上层放自定义数据,选填)
Returns:
Type Description Promise -
getAccount(){String}
-
获取当前登录的 IM 账号
Returns:
Type Description String -
getStartedDeviceOfType(type){Void}
-
获取当前开启的指定类型的设备
Params:
Name Type Description typeString 可选设备类型请参考
Netcall.DEVICE_TYPE_*Returns:
Type Description Void -
getStoredDevicesOfType(type){Void}
-
获取已经存储的指定类型的所有设备
Params:
Name Type Description typeNumber 可选设备类型请参考
Netcall.DEVICE_TYPE_*Returns:
Type Description Void -
hangup(channelId){Void}
-
挂断音视频通话
Params:
Name Type Description channelIdString optional 要挂断的通话的 channelId, 如果不填那么挂断当前通话
Returns:
Type Description Void -
hasDevicesOfType(type){Void}
-
是否有指定类型的设备
Params:
Name Type Description typeString 可选设备类型请参考
Netcall.DEVICE_TYPE_*Returns:
Type Description Void -
hasStartedDeviceOfType(type){Boolean}
-
当前是否有开启指定类型的设备
Params:
Name Type Description typeString 可选设备类型请参考
Netcall.DEVICE_TYPE_*Returns:
Type Description Boolean -
initSignal(){Promise}
-
初始化信令
- 信令通道初始化完毕之后, 开发者可以启用音视频相关的 UI, 比如说展示呼叫别人的按钮
- 信令通道初始化失败的时候, 请展示错误并禁用所有音视频相关的 UI
- 初始化过程中会通过 devices 事件回传所有的设备列表
- 当信令通道断开时, 会触发 signalClosed 事件
- 设备状态的错误类型约定:
device_busy: 设备被占用
agent_update: 插件有更新
agent_empty: 没有安装插件
Returns:
Type Description Promise -
isCurrentChannelId(){Boolean}
-
是当前会话的 channelId
Returns:
Type Description Boolean -
joinChannel(options){Promise}
-
主动加入频道
Params:
Name Type Description optionsObject 音视频相关配置参数
Name Type Description channelNameString 频道名称
typeNumber option.liveEnableString 是否开启旁路直播,可选 true / false(默认不开启)
options.sessionConfigObject 会话配置
Name Type Default Description videoQualityNumber 视频分辨率,实际帧率因画面采集频率和机器性能限制可能达不到期望值videoFrameRateNumber videoBitrateNumber 视频码率, >=100000 <= 5000000 有效
highAudioBoolean false 高清语音开关, 默认关闭
recordVideoBoolean false 视频录制开关, 默认关闭
recordAudioBoolean false 音频录制开关, 默认关闭
bypassRtmpBoolean false 推流开关, 默认关闭,推流相关配置前提开关打开
rtmpUrlBoolean 推流地址
rtmpRecordBoolean false 推流录制开关, 默认关闭
splitModeBoolean 推流的布局,
布局类型默认平铺Returns:
Type Description Promise -
leaveChannel(){Promise}
-
离开频道
Returns:
Type Description Promise -
netDetect(){Void}
-
网络探测
Returns:
Type Description Void -
notCurrentChannelId(){Boolean}
-
不是当前会话的 channelId
Returns:
Type Description Boolean -
response(options){Promise}
-
响应音视频被呼叫
调用此接口前需要先初始化信令
Params:
Name Type Default Description optionsObject {} optional 配置参数
Name Type Default Description acceptedBoolean true optional true 接听, false 拒绝
beCalledInfoObject 被呼叫的信息, 在 beCalling 事件里可以接收到的信息
sessionConfigObject optional 会话配置
Name Type Description videoQualityNumber optional recordVideoBoolean optional 视频录制开关
recordAudioBoolean optional 音频录制开关
Returns:
Type Description Promise -
resumeLocalStream(){Void}
-
继续播放自己的视频画面 #废弃
Returns:
Type Description Void -
resumeRemoteStream(){Void}
-
继续播放对方的视频画面 #废弃 请使用startRemoteStream
Returns:
Type Description Void -
setAudioBlack(account){Void}
-
设置目标静音
Params:
Name Type Description accountNumber 账号
Returns:
Type Description Void -
setAudioStart(account){Void}
-
设置目标非静音
Params:
Name Type Description accountNumber 账号
Returns:
Type Description Void -
setCaptureVolume(num){Void}
-
设置采集音量
Params:
Name Type Description numNumber 音量大小, 0-255
Returns:
Type Description Void -
setPlayVolume(num){Void}
-
设置播放音量
Params:
Name Type Description numNumber 音量大小, 0-255
Returns:
Type Description Void -
setVideoScale(options){Promise}
-
裁剪画面尺寸和比例: 不裁剪 / 1:1 / 4:3 / 16 : 9
Params:
Name Type Default Description optionsObject {} 配置参数
Name Type Default Description accountString 对象账号,不填操作全部远程流
typeNumber Netcall.CHAT_VIDEO_SCALE_None optional 裁剪比例,默认不裁剪,选值类型请参考
Netcall.CHAT_VIDEO_SCALE_*Returns:
Type Description Promise -
setVideoViewRemoteSize(options){Promise}
-
设置对方画面的尺寸
最终显示的画面不大于所设置的宽和高
Params:
Name Type Default Description optionsObject {} 配置参数
Name Type Default Description accountString 对象账号,不填操作全部远程流
widthNumber 宽度
heightNumber 高度
cutNumber true optional 是否需要剪裁, 默认按1:1比例剪裁
Returns:
Type Description Promise -
setVideoViewSize(options){Promise}
-
设置自己画面的尺寸
最终显示的画面不大于所设置的宽和高
Params:
Name Type Default Description optionsObject {} 配置参数
Name Type Default Description widthNumber 宽度
heightNumber 高度
cutNumber true optional 是否需要剪裁, 默认按1:1比例剪裁
Returns:
Type Description Promise -
startDevice(options){Void}
-
开启设备
Params:
Name Type Description optionsObject 配置参数
Name Type Description typeNumber 设备类型
deviceObject optional 设备, 如果没有指定, 那么开启该类型的第一个设备
widthNumber optional 如果启动视频设备, 设置摄像头捕获的视频的最大宽度
heightNumber optional 如果启动视频设备, 设置摄像头捕获的视频的最大高度
Returns:
Type Description Void -
startLocalStream(node){Void}
-
开启本地视频流
Params:
Name Type Description nodeNode 本地视频流节点 可选
Returns:
Type Description Void -
startRecordAac(options){Promise}
-
混音本地录制(所有流一起录)
Params:
Name Type Description optionsObject Name Type Description pathString 路径地址 如E:\wenjian\abc.aac
Returns:
Type Description Promise -
startRecordMp4(options, {String){Void}
-
本地录制(录自己) 请监听recordMp4事件为正式开始录制回调 netcall.on('recordMp4',function(data){})
Params:
Name Type Description optionsObject {Stringoptions.path 路径地址 如E:\wenjian\abc.mp4
Returns:
Type Description Void -
startRemoteStream(){Void}
-
开启远程视频流
Returns:
Type Description Void -
stopDevice(type){Void}
-
停止指定类型的设备
Params:
Name Type Description typeString 可选设备类型请参考
Netcall.DEVICE_TYPE_*Returns:
Type Description Void -
stopRecordAac(){Promise}
-
停止混音本地录制
Returns:
Type Description Promise -
stopRecordMp4(){Promise}
-
停止本地录制(录自己)
Returns:
Type Description Promise -
stopRemoteStream(account){Void}
-
关闭远程视频流
Params:
Name Type Description accountString 对应的nim账号 (不填移除所有)
Returns:
Type Description Void -
stopSignal(){Promise}
-
停止信令通道
Returns:
Type Description Promise -
suspendLocalStream(){Void}
-
暂停播放自己的视频画面 #废弃
Returns:
Type Description Void -
suspendRemoteStream(){Void}
-
暂停播放对方的视频画面 #废弃 请使用stopRemoteStream
Returns:
Type Description Void -
switchAudioToVideo(){Void}
-
从音频模式切换为视频模式
Returns:
Type Description Void -
switchVideoToAudio(){Void}
-
从视频模式切换为音频模式
Returns:
Type Description Void -
updateRtmpUrl(url){Promise}
-
更新推流地址
Params:
Name Type Description urlString 新地址
Returns:
Type Description Promise