new NERtcChannel()
Methods
-
addLiveStreamTask(info)
-
添加房间推流任务,成功添加后当前用户可以收到该直播流的状态通知。通话中有效。
Parameters:
Name Type Description info
Object 直播任务信息。 Properties
Name Type Description task_id
String 推流任务 ID,为推流任务的唯一标识,用于过程中增删任务操作 <64 chars stream_url
String 直播推流地址 <256 chars server_record_enabled
Boolean 服务器录制功能是否开启 ls_mode
Number 直播推流模式: - 0 推流带视频 - 1 推流纯音频
config
Object 音视频流编码参数等设置: Properties
Name Type Description singleVideoPassThrough
boolean 音频编码规格。默认值为 NERtcLiveStreamAudioCodecProfileLCAAC 普通编码规格。 audioBitrate
boolean 音频推流码率。单位为 kbps,取值范围为 10~192。语音场景建议设置为 64 及以上码率,音乐场景建议设置为 128 及以上码率。 sampleRate
boolean 音频推流采样率。默认值为 NERtcLiveStreamAudioSampleRate48000 48K。 channels
boolean 音频推流声道数。1:单声道。2:(默认)双声道。 audioCodecProfile
boolean 音频编码规格。默认值为 NERtcLiveStreamAudioCodecProfileLCAAC 普通编码规格。 - 0 HE-AAC 规格,表示高效音频编码规格。 - 1 (默认)LC-AAC 规格,表示基本音频编码规格。
layout
Object 视频布局: Properties
Name Type Description width
number 视频推流宽度 height
number 视频推流高度 background_color
number 视频推流背景色,(R & 0xff) << 16 | (G & 0xff) << 8 | (B & 0xff) user_count
number 成员布局个数 users
Array.<object> 成员布局数组: users[].uid
number 用户 ID users[].video_push
boolean 是否推送该用户视频流,info.ls_mode=1 时无效 users[].adaption
number 视频流裁剪模式: - 0 视频尺寸等比缩放。优先保证视频内容全部显示。因视频尺寸与显示视窗尺寸不一致造成的视窗未被填满的区域填充背景色 - 1 视频尺寸等比缩放。优先保证视窗被填满。因视频尺寸与显示视窗尺寸不一致而多出的视频将被截掉
users[].x
number 画面离主画面左边距 users[].y
number 画面离主画面上边距 users[].width
number 画面在主画面的显示宽度,画面右边超出主画面会失败 users[].height
number 画面在主画面的显示高度,画面底边超出主画面会失败 users[].audio_push
boolean 是否推送该用户音频流 users[].bg_image
object 背景图信息: Properties
Name Type Description url
String 图片地址 x
number 画面离主画面左边距 y
number 画面离主画面上边距 width
number 画面在主画面的显示宽度,画面右边超出主画面会失败 height
number 画面在主画面的显示高度,画面底边超出主画面会失败 Fires:
Returns:
- 0:方法调用成功。 - 其他:方法调用失败。
- Type
- number
-
adjustChannelPlaybackSignalVolume(volume)
-
调节本地播放的指定房间的所有远端用户的信号音量。
Parameters:
Name Type Description volume
number 播放音量,取值范围为 [0,400]。 - Since:
-
- V5.4.0
-通过此接口可以实现在通话过程中随时调节指定房间内的所有远端用户在本地播放的混音音量。 NOTE: - 请在引擎初始化之后调用此接口,该方法在加入房间前后都可调用。 - 该方法设置内部引擎为启用状态,在 leaveChannel 后失效,但在本次通话过程中有效。
- V5.4.0
Returns:
- 0:方法调用成功。 - 其他:方法调用失败。
- Type
- number
-
adjustUserPlaybackSignalVolume(uid, volume)
-
调节本地播放的指定远端用户的指定流类型的信号音量
Parameters:
Name Type Description uid
number 远端用户 ID。 volume
number volume 播放音量,取值范围为 [0,100]。 - 0:静音。 - 100:原始音量。
- Since:
-
- 4.1.110
- 加入房间后,您可以多次调用该方法设置本地播放的不同远端用户的音量;也可以反复调节本地播放的某个远端用户的音量。 NOTE: - 请在成功加入房间后调用该方法。 - 该方法在本次通话中有效。如果远端用户中途退出房间,则再次加入此房间时仍旧维持该设置,通话结束后设置失效。 - 该方法调节的是本地播放的指定远端用户混音后的音量,且每次只能调整一位远端用户。若需调整多位远端用户在本地播放的音量,则需多次调用该方法。
- 4.1.110
Returns:
- 0:方法调用成功。 - 其他:方法调用失败。
- Type
- number
-
captureImageByUid(uid, streamType)
-
在指定用户的画布上截图。
Parameters:
Name Type Description uid
'local' | number 指定用户的 uid,其中在本地用户画布上截图时,此参数为 local。 streamType
NERtcVideoStreamType 视频流类型。 - 0:视频流主流。 - 1:视频流辅流。
Returns:
string 返回 base64 截图数据。 -
enableAudioVolumeIndication(enable, interval)
-
启用说话者音量提示。该方法允许 SDK 定期向 App 反馈当前谁在说话以及说话者的音量。
启用该方法后,无论频道内是否有人说话,可以通过NERtcChannel#on方法监听 onRemoteAudioVolumeIndication,根据设置的间隔时间返回音量提示事件。
Parameters:
Name Type Description enable
boolean 是否启用说话者音量提示。 interval
number 指定音量提示的时间间隔,单位为毫秒。必须设置为 100 毫秒的整数倍值。 Returns:
- 0:方法调用成功。 - 其他:方法调用失败。
- Type
- number
-
enableDualStreamMode(enable)
-
设置视频双流发送。
调用该方法控制是否支持发送双流,只对摄像头数据生效,自定义输入、取屏等无效。设置后,会在摄像头重启后生效。
Parameters:
Name Type Description enable
boolean - true: 双流发送(默认) - false: 只发送一个流
Returns:
- 0:方法调用成功。 - 其他:方法调用失败。
- Type
- number
-
enableLocalAudio(enabled)
-
开启或关闭本地语音采集或处理
该方法可以重新开启本地语音功能,重新开始本地音频采集及处理。 该方法不影响接收或播放远端音频流。 NOTE: - 该方法与 NERtcChannel#muteLocalAudioStream 的区别在于: - NERtcChannel#enableLocalAudio: 开启本地语音采集及处理 - NERtcChannel#muteLocalAudioStream: 停止或继续发送本地音频流 该方法设置内部引擎为启用状态,在 NERtcChannel#leaveChannel 后仍然有效。
Parameters:
Name Type Description enabled
Boolean - true: 重新开启本地语音功能,即开启本地语音采集或处理(默认) - false: 关闭本地语音功能,即停止本地语音采集或处理
Returns:
- 0:方法调用成功。 - 其他:方法调用失败。
- Type
- number
-
enableLocalSubStreamAudio(enabled)
-
开启或关闭音频辅流。
Parameters:
Name Type Description enabled
boolean 是否开启音频辅流: - true:开启音频辅流。 - false:关闭音频辅流。
- Since:
-
- V5.4.0
开启时远端会收到 onUserSubStreamAudioStart,关闭时远端会收到 onUserSubStreamAudioStop。 NOTE: - 该方法设置内部引擎为启用状态,在NERtcChannel#leaveChannel后仍然有效。
- V5.4.0
Returns:
- 0:方法调用成功。 - 其他:方法调用失败。
- Type
- number
-
enableLocalVideo(enabled)
-
开启或关闭本地视频采集和渲染
该方法启用本地视频采集功能。 该方法设置内部引擎为启用状态,在 NERtcChannel#leaveChannel 后仍然有效。
Parameters:
Name Type Description enabled
boolean 是否启用本地视频: - true:开启本地视频采集和渲染 (默认)。 - false:关闭使用本地摄像头设备。关闭后,远端用户会接收不到本地用户的视频流。但本地用户依然可以接收远端用户的视频流。设置为 false 时,该方法不需要本地有摄像头。
Returns:
- 0:方法调用成功。 - 其他:方法调用失败。
- Type
- number
-
enableLocalVideoWithType(streamType, enabled)
-
开启或关闭本地视频采集和渲染
Parameters:
Name Type Description streamType
number 视频通道类型: - 0:主流。 - 1:辅流。
enabled
boolean 是否启用本地视频: - true:开启本地视频采集和渲染 (默认)。 - false:关闭使用本地摄像头设备。关闭后,远端用户会接收不到本地用户的视频流。但本地用户依然可以接收远端用户的视频流。设置为 false 时,该方法不需要本地有摄像头。
- Since:
-
- V5.4.0
该方法启用本地视频采集功能。 该方法设置内部引擎为启用状态,在 NERtcChannel#leaveChannel 后仍然有效。
- V5.4.0
Returns:
- 0:方法调用成功。 - 其他:方法调用失败。
- Type
- number
-
enableMediaPub(enabled, media_type)
-
开启或关闭本地媒体流(主流)的发送。
Parameters:
Name Type Description enabled
boolean 是否发布本地媒体流。 - true 布本地媒体流(默认)。 - false 不发布本地媒体流。
media_type
number 媒体发布类型,暂时仅支持音频。 - 0 音频 pub 类型。
- Since:
-
- V5.4.0
- 该方法用于开始或停止向网络发送本地音频或视频数据。 - 该方法不影响接收或播放远端媒体流,也不会影响本地音频或视频的采集状态。 NOTE: - 该方法暂时仅支持控制音频流的发送。 - 该方法在加入房间前后均可调用。 - 停止发送媒体流的状态会在通话结束后被重置为允许发送。 - 成功调用该方法切换本地用户的发流状态后,房间内其他用户会收到 onUserAudioStart(开启发送音频)或 onUserAudioStop(停止发送音频)的回调。
- V5.4.0
Returns:
- 0: 方法调用成功 - 其他: 调用失败
- Type
- number
-
enableSpatializer(enable, apply_to_team)
-
开启或关闭空间音效。
Parameters:
Name Type Description enable
boolean 是否打开 3D 音效算法功能,默认为关闭状态。 - true:开启空间音效。 - false:关闭空间音效。
apply_to_team
boolean 是否仅本小队开启 3D 音效。默认为 false。 - true:仅在接收本小队的语音时有 3D 音效。 - false:接收到所有的语音都有 3D 音效。
- Since:
-
- V5.4.0
- 请在引擎初始化后调用此接口,且该方法在加入房间前后均可调用。 NOTE: - 该接口不支持 Linux 平台。 - 开启空间音效后,通话结束时仍保留该开关状态,不重置。 - 请先调用 \ref #initSpatializer 接口初始化空间音效算法,再调用本接口。
- V5.4.0
Returns:
- 0: 方法调用成功 - 其他: 调用失败
- Type
- number
-
enableSpatializerRoomEffects(enable)
-
开启或关闭空间音效的房间混响效果.
Parameters:
Name Type Description enable
boolean 混响效果开关,默认值关闭。 - Since:
-
- V5.4.0
- 请在引擎初始化后调用此接口,且该方法在加入房间前后均可调用。 - 该接口不支持 Linux 平台 - 请先调用 enableSpatializer 接口启用空间音效,再调用本接口。
- V5.4.0
Returns:
- 0: 方法调用成功 - 其他: 调用失败
- Type
- number
-
getChannelName()
-
释放资源。
Returns:
房间名- Type
- string
-
getConnectionState()
-
获取当前网络状态。
Returns:
- 1 没加入频道。 - 2 正在加入频道。 - 3 加入频道成功。 - 4 正在尝试重新加入频道。 - 5 加入频道失败。
- Type
- number
-
initSpatializer()
-
初始化引擎 3D 音效算法。
- Since:
-
- V5.5.10
- 此接口在加入房间前调用后均可调用。 NOTE: - 该接口不支持 Linux 平台。
- V5.5.10
Returns:
- 0: 方法调用成功 - 其他: 调用失败
- Type
- number
-
joinChannel(token)
-
加入频道。如果频道还未创建,会自动尝试创建频道。
该方法让用户加入通话频道,在同一个频道内的用户可以互相通话,多个用户加入同一个频道,可以群聊。使用不同 App Key 的 App 是不能互通的。如果已在通话中,用户必须调用 NERtcChannel#leaveChannel 退出当前通话,才能进入下一个频道。 频道内每个用户的用户 ID 必须是唯一的。
Parameters:
Name Type Description token
String 动态秘钥。安全要求不高: 将值设为 空字符串。安全要求高:将值设置为 Token。如果您已经启用了 App Certificate, 请务必使用 Token。 Returns:
- 0:方法调用成功。 - 其他:方法调用失败。
- Type
- number
-
joinChannelWithOptions(token, channelName, uid, channelOptions)
-
加入频道。如果频道还未创建,会自动尝试创建频道。
Parameters:
Name Type Description token
String 动态秘钥。安全要求不高: 将值设为 空字符串。安全要求高:将值设置为 Token。如果您已经启用了 App Certificate, 请务必使用 Token。 channelName
String 标识通话的频道名称,长度在 64 字节以内的字符串。以下为支持的字符集范围(共 89 个字符): a-z, A-Z, 0-9, space, !#$%&()+-:;≤.,>? @[]^_{|}~” uid
number 用户 ID。 channelOptions
Object 加入音视频房间时的一些可选信息。 Properties
Name Type Description custom_info
string 自定义信息,最长支持 127 个字符。 permission_key
string 权限密钥。能控制通话时长及媒体权限能力。 - Since:
-
- V5.4.0
该方法让用户加入通话频道,在同一个频道内的用户可以互相通话,多个用户加入同一个频道,可以群聊。使用不同 App Key 的 App 是不能互通的。如果已在通话中,用户必须调用 NERtcChannel#leaveChannel 退出当前通话,才能进入下一个频道。 频道内每个用户的用户 ID 必须是唯一的。
- V5.4.0
Returns:
- 0:方法调用成功。 - 其他:方法调用失败。
- Type
- number
-
joinChannelWithUid(token, uid)
-
加入频道。如果频道还未创建,会自动尝试创建频道。
该方法让用户加入通话频道,在同一个频道内的用户可以互相通话,多个用户加入同一个频道,可以群聊。使用不同 App Key 的 App 是不能互通的。如果已在通话中,用户必须调用 NERtcChannel#leaveChannel 退出当前通话,才能进入下一个频道。 频道内每个用户的用户 ID 必须是唯一的。
Parameters:
Name Type Description token
String 动态秘钥。安全要求不高: 将值设为 空字符串。安全要求高:将值设置为 Token。如果您已经启用了 App Certificate, 请务必使用 Token。 uid
number 用户 ID。 Returns:
- 0:方法调用成功。 - 其他:方法调用失败。
- Type
- number
-
leaveChannel()
-
离开频道。
离开频道,即挂断或退出通话。 当调用 NERtcChannel#joinChannel 方法后,必须调用 NERtcChannel#leaveChannel 结束通话,否则无法开始下一次通话。不管当前是否在通话中,都可以调用 leaveChannel,没有副作用。该方法会把会话相关的所有资源释放掉。 该方法是异步操作,调用返回时并没有真正退出频道。在真正退出频道后,SDK 会触发 onLeaveChannel 事件。 如果您调用了 NERtcChannel#leaveChannel 后立即调用 NERtcChannel#release , SDK 将无法触发 onLeaveChannel 事件。
Fires:
Returns:
- 0:方法调用成功。 - 其他:方法调用失败。
- Type
- number
-
muteLocalAudioStream(mute)
-
开关本地音频发送。该方法用于允许/禁止往网络发送本地音频流。
该方法不影响录音状态,因为并没有禁用录音设备。
Parameters:
Name Type Description mute
boolean 静音/取消静音: - true: 静音本地音频 - false: 取消静音本地音频(默认)
Returns:
- 0:方法调用成功。 - 其他:方法调用失败。
- Type
- number
-
muteLocalSubStreamAudio(mute)
-
静音或解除静音本地上行的音频辅流。
Parameters:
Name Type Description mute
boolean 是否静音本地音频辅流发送。 - true:静音本地音频辅流(默认)。 - false:取消静音本地音频辅流。
- Since:
-
- V5.4.0
NOTE: - 静音状态会在通话结束后被重置为非静音。 - 该方法仅可在加入房间后调用。
- V5.4.0
Returns:
- 0:方法调用成功。 - 其他:方法调用失败。
- Type
- number
-
muteLocalVideoStream(mute)
-
开关本地视频发送。
调用该方法禁视频流时,SDK 不再发送本地视频流,但摄像头仍然处于工作状态。相比于 NERtcChannel#enableLocalVideo (false) 用于控制本地视频流发送的方法,该方法响应速度更快。该方法不影响本地视频流获取,没有禁用摄像头。
Parameters:
Name Type Description mute
boolean - true: 不发送本地视频流 - false: 发送本地视频流(默认)
Returns:
- 0:方法调用成功。 - 其他:方法调用失败。
- Type
- number
-
muteLocalVideoStreamWithType(streamType, mute)
-
开关本地视频发送。
调用该方法禁视频流时,SDK 不再发送本地视频流,但摄像头仍然处于工作状态。相比于 NERtcChannel#enableLocalVideo (false) 用于控制本地视频流发送的方法,该方法响应速度更快。该方法不影响本地视频流获取,没有禁用摄像头。
Parameters:
Name Type Description streamType
number 视频通道类型。 - 0:视频主流。 - 1:视频辅流。
mute
boolean - true: 不发送本地视频流 - false: 发送本地视频流(默认)
Returns:
- 0:方法调用成功。 - 其他:方法调用失败。
- Type
- number
-
pauseScreenCapture()
-
暂停屏幕共享。
Returns:
- 0:方法调用成功。 - 其他:方法调用失败。
- Type
- number
-
release()
-
释放资源。
-
removeLiveStreamTask(taskId)
-
删除房间推流任务。通话中有效。
Parameters:
Name Type Description taskId
String 直播任务 ID Fires:
Returns:
- 0:方法调用成功。 - 其他:方法调用失败。
- Type
- number
-
resumeScreenCapture()
-
恢复屏幕共享。
Returns:
- 0:方法调用成功。 - 其他:方法调用失败。
- Type
- number
-
sendSEIMsg(data)
-
发送媒体补充增强信息(SEI)。
Parameters:
Name Type Description data
ArrayBuffer 自定义 SEI 数据 - Since:
-
- 4.1.110
在本端推流传输视频流数据同时,发送流媒体补充增强信息来同步一些其他附加信息。当推流方发送 SEI 后,拉流方可通过监听 onRecvSEIMsg 的回调获取 SEI 内容。 - 调用时机:视频流(主流)开启后,可调用此函数。 - 数据长度限制: SEI 最大数据长度为 4096 字节,超限会发送失败。如果频繁发送大量数据会导致视频码率增大,可能会导致视频画质下降甚至卡顿。 - 发送频率限制:最高为视频发送的帧率,建议不超过 10 次/秒。 - 生效时间:调用本接口之后,最快在下一帧视频数据帧之后发送 SEI 数据,最慢在接下来的 5 帧视频之后发送。 NOTE: - SEI 数据跟随视频帧发送,由于在弱网环境下可能丢帧,SEI 数据也可能随之丢失,所以建议在发送频率限制之内多次发送,保证接收端收到的概率。 - 调用本接口时,默认使用主流通道发送 SEI。
- 4.1.110
Returns:
- 0:方法调用成功。 - 其他:方法调用失败。
- Type
- number
-
sendSEIMsgWithType(data, type)
-
发送媒体补充增强信息(SEI)。
Parameters:
Name Type Description data
ArrayBuffer 自定义 SEI 数据 type
number 发送 SEI 时,使用的流通道类型: - 0: 主流通道 - 1: 辅流通道
- Since:
-
- 4.1.110
在本端推流传输视频流数据同时,发送流媒体补充增强信息来同步一些其他附加信息。当推流方发送 SEI 后,拉流方可通过监听 onRecvSEIMsg 的回调获取 SEI 内容。 - 调用时机:视频流(主流)开启后,可调用此函数。 - 数据长度限制: SEI 最大数据长度为 4096 字节,超限会发送失败。如果频繁发送大量数据会导致视频码率增大,可能会导致视频画质下降甚至卡顿。 - 发送频率限制:最高为视频发送的帧率,建议不超过 10 次/秒。 - 生效时间:调用本接口之后,最快在下一帧视频数据帧之后发送 SEI 数据,最慢在接下来的 5 帧视频之后发送。 NOTE: - SEI 数据跟随视频帧发送,由于在弱网环境下可能丢帧,SEI 数据也可能随之丢失,所以建议在发送频率限制之内多次发送,保证接收端收到的概率。 - 调用本接口时,默认使用主流通道发送 SEI。
- 4.1.110
Returns:
- 0:方法调用成功。 - 其他:方法调用失败。
- Type
- number
-
setAudioRecvRange(audible_distance, conversational_distance, roll_off)
-
设置空间音效的距离衰减属性和语音范围。
Parameters:
Name Type Description audible_distance
number 监听器能够听到扬声器并接收其语音的距离扬声器的最大距离。距离有效范围:[1,max int),无默认值。 conversational_distance
number 范围语音场景中,该参数设置的值不起作用,保持默认值即可。空间音效场景中,需要配置该参数。控制音频保持其原始音量的范围,超出该范围时,语音聊天的响度在被听到时开始淡出。 默认值为 1。 roll_off
number 范围语音场景中,该参数设置的值不起作用,保持默认值即可。 - 0: 指数模式 - 1: 线性模式 - 2: 无衰减 - 3: 仅线性衰减,没有方位效果
- Since:
-
- V5.5.10
- 请在引擎初始化后调用此接口,且该方法在加入房间前后均可调用。 NOTE: - 若要使用范围语音或 3D 音效功能,加入房间前需要调用一次本接口。 - 仅使用范围语音时,您只需要设置 audible_distance 参数,其他参数设置不生效,填写默认值即可。
- V5.5.10
Returns:
- 0: 方法调用成功 - 其他: 调用失败
- Type
- number
-
setAudioSubscribeOnlyBy(uids, size)
-
设置自己的音频只能被房间内指定的人订阅。
Parameters:
Name Type Description uids
Array.<Number> 用户 ID 数组 size
number 数组长度 - Since:
-
- V5.4.0
默认房间所有其他人都可以订阅自己的音频。 NOTE: - 此接口需要在加入房间成功后调用。 - 对于调用接口时不在房间的 uid 不生效。
- V5.4.0
Returns:
- 0:方法调用成功。 - 其他:方法调用失败。
- Type
- number
-
setCameraCaptureConfig(config)
-
设置本地摄像头的视频主流采集配置。
Parameters:
Name Type Description config
object 摄像头采集配置: Properties
Name Type Description captureWidth
number 本地采集的视频宽度,单位为 px。 captureHeight
number 本地采集的视频高度,单位为 px。 - Since:
-
- V5.4.0
通过此接口可以设置本地摄像头采集的主流视频宽度、高度、旋转角度等。 NOTE: - 纯音频 SDK 禁用该接口。 - 该方法仅适用于视频主流。 - 该方法支持在加入房间后动态调用,设置成功后,会自动重启摄像头采集模块。 - 若系统相机不支持您设置的分辨率,会自动调整为最相近一档的分辨率,因此建议您设置为常规标准的分辨率。 - 设置较高的采集分辨率会增加性能消耗,例如 CPU 和内存占用等,尤其是在开启视频前处理的场景下。
- V5.4.0
Returns:
- 0:方法调用成功。 - 其他:方法调用失败。
- Type
- number
-
setCameraCaptureConfigWithType(streamType, config)
-
设置本地摄像头的视频主流或辅流采集配置。
Parameters:
Name Type Description streamType
NERtcVideoStreamType 视频通道类型。 - 0:主流。 - 1:辅流。
config
object 摄像头采集配置: Properties
Name Type Description captureWidth
number 本地采集的视频宽度,单位为 px。 captureHeight
number 本地采集的视频高度,单位为 px。 - Since:
-
- V5.4.0
通过此接口可以设置本地摄像头采集的主流或辅流视频宽度、高度、旋转角度等。 NOTE: - 纯音频 SDK 禁用该接口。 - 调用该接口设置成功后,会自动重启摄像头采集模块。
- V5.4.0
Returns:
- 0:方法调用成功。 - 其他:方法调用失败。
- Type
- number
-
setClientRole(role)
-
设置参会者角色
NERtcChannel#setClientRole 接口用于在直播场景中设置用户角色。默认情况下用户以主播角色加入房间。 在加入房间前,用户需要调用 setClientRole 接口设置本端模式为观众或主播模式。在加入房间后,用户可以通过本接口切换用户模式。 用户角色支持设置为主播或观众,主播和观众的权限不同。默认情况下用户以主播角色加入房间。 可以在通话前后设置,通话前设置会在加入频道之后生效。如果设置观众模式。则会停止音视频设备。
Parameters:
Name Type Description role
number 参会者模式 - 主播(0):可以开关摄像头等设备、可以发布流、可以操作互动直播推流相关接口、上下线对其他房间内用户可见 - 观众(1):不可以开关摄像头等设备、不可以发布流、不可以操作互动直播推流相关接口、上下线对其他房间内用户不可见
Fires:
Returns:
- 0:方法调用成功。 - 其他:方法调用失败。
- Type
- number
-
setExcludeWindowList(window_list)
-
设置屏幕捕捉时需屏蔽的窗口列表, 该方法在捕捉过程中可动态调用。
Parameters:
Name Type Description window_list
list 需屏蔽的窗口 ID 列表, 例如:[id1,id2...]。 - Since:
-
- 4.4.8
- 仅支持 Windows
- 4.4.8
Returns:
- 0:方法调用成功。 - 其他:方法调用失败。
- Type
- number
-
setLocalMediaPriority(priority, preemptive)
-
设置本地用户的媒体流优先级。
Parameters:
Name Type Description priority
number 本地用户的媒体流优先级。 - 50 高优先级。 - 100 普通,默认优先级。
preemptive
boolean 是否开启抢占模式。默认为 false,即不开启。 - 抢占模式开启后,本地用户可以抢占其他用户的高优先级,被抢占的用户的媒体流优先级变为普通优先级。在抢占者退出房间后,其他用户的优先级仍旧维持普通优先级。 - 抢占模式关闭后,如果房间中已有高优先级用户,则本地用户的高优先级设置不生效,仍旧为普通优先级。
- Since:
-
- 4.4.8
- 如果本地用户的优先级为高,则该用户媒体流的优先级就会高于其他用户,那么弱网环境下 SDK 会优先保证其他用户收到的本地用户媒体流的质量。 NOTE: - 请在加入房间(joinChannel)前调用此方法。 - 快速切换房间 (switchChannel) 后,媒体优先级会恢复为默认值,即普通优先级。 - 一个音视频房间中只有一个高优先级的用户。建议房间中只有一位用户调用 setLocalMediaPriority 将本端媒体流设为高优先级,否则需要开启抢占模式,才能保证本地用户的高优先级设置生效。
- 4.4.8
Returns:
- 0:方法调用成功。 - 其他:方法调用失败。
- Type
- number
-
setLocalPublishFallbackOption(option)
-
设置弱网条件下发布的音视频流回退选项。
在网络不理想的环境下,发布的音视频质量都会下降。使用该接口并将 option 设置为 kNERtcStreamFallbackAudioOnly 后: - SDK 会在上行弱网且音视频质量严重受影响时,自动关断视频流,尽量保证音频质量。 - 同时 SDK 会持续监控网络质量,并在网络质量改善时恢复音视频流。 - 当本地发布的音视频流回退为音频流时,或由音频流恢复为音视频流时,SDK 会触发本地发布的媒体流已回退为音频流 onLocalPublishFallbackToAudioOnly 回调。 NOTE: 请在加入房间(joinChannel)前调用此方法。
Parameters:
Name Type Description option
number 发布音视频流的回退选项:NERTCStreamFallbackOption。 - 0:上行或下行网络较弱时,不对音视频流作回退处理,但不能保证音视频流的质量。 - 1:在下行网络条件较差的情况下,SDK 将只接收视频小流,即低分辨率、低码率视频流。 - 2:上行网络较弱时,只发布音频流。下行网络较弱时,先尝试只接收视频小流,即低分辨率、低码率视频流。如果网络环境无法显示视频,则再回退到只接收音频流。
Returns:
- 0:方法调用成功。 - 其他:方法调用失败。
- Type
- number
-
setLocalVideoMirrorMode(mode)
-
设置本地视频镜像模式。
该方法设置本地视频镜像模式。App 可以多次调用此方法更改镜像模式。
Parameters:
Name Type Description mode
number 视频镜像模式: - 0 Windows/macOS SDK 启用镜像模式。 - 1 启用镜像模式。 - 2 (默认)关闭镜像模式。
Returns:
- 0:方法调用成功。 - 其他:方法调用失败。
- Type
- number
-
setLocalVideoMirrorModeWithType(streamType, mode)
-
设置本地视频镜像模式。
Parameters:
Name Type Description streamType
number 视频通道类型。 - 0:主流。 - 1:辅流。
mode
number 视频镜像模式: - 0 Windows/macOS SDK 启用镜像模式。 - 1 启用镜像模式。 - 2 (默认)关闭镜像模式。
- Since:
-
- V5.4.0
通过此接口可以设置本地视频是否开启镜像模式,即画面是否左右翻转。 NOTE: - 纯音频 SDK 禁用该接口 - 本地视频画布的镜像模式仅影响本地用户所见,不影响远端用户所见。您的应用层可以多次调用此方法更改镜像模式。
- V5.4.0
Returns:
- 0:方法调用成功。 - 其他:方法调用失败。
- Type
- number
-
setRangeAudioMode(mode)
-
设置玩家本人在房间中的范围语音模式,该设置不影响其他人。
Parameters:
Name Type Description mode
number 范围语音模式,包括所有人和仅小队两种模式。 - 0:默认模式。设置后玩家附近一定范围的人都能听到该玩家讲话,如果范围内也有玩家设置为此模式,则也可以互相通话。 - 1:小组模式。仅 TeamID 相同的队友可以互相听到
- Since:
-
- V5.5.10
- 请在引擎初始化后调用此接口,且该方法在加入房间前后均可调用。 NOTE: - 离开房间后,此参数不会自动重置为默认模式,所以请在每次加入房间之前都调用此方法设置语音模式。 - 加入房间后,可以随时修改语音模式,并立即生效。
- V5.5.10
Returns:
- 0: 方法调用成功 - 其他: 调用失败
- Type
- number
-
setRangeAudioTeamID(team_id)
-
设置范围语音的小队 ID。
Parameters:
Name Type Description team_id
number 小队 ID, 有效值:>=0。若 team_id = 0,则房间内所有人(不论范围语音的模式是所有人还是仅小队)都可以听到该成员的声音。 - Since:
-
- V5.5.10
- 请在引擎初始化后调用此接口,且该方法在加入房间前后均可调用。 NOTE: - 离开房间后,TeamID 失效,需要重新配置 TeamID,请在每次加入房间之前都调用此方法设置 TeamID。 - 离开房间后,TeamID 失效,需要重新配置 TeamID,请在每次加入房间之前都调用此方法设置队伍号。 - 如果离开房间后再加入房间,请在收到退房成功回调(onLeaveChannel)后,再调用此方法设置队伍号。 - 若加入房间后,调用此接口修改队伍号,设置后立即生效。 - 请配合 #setRangeAudioMode 接口一起使用。
- V5.5.10
Returns:
- 0: 方法调用成功 - 其他: 调用失败
- Type
- number
-
setRemoteHighPriorityAudioStream(enable, uid)
-
设置远端用户音频流为高优先级。
Parameters:
Name Type Description enable
是否设置音频订阅优先级。 - true 设置音频订阅优先级。 - false 取消设置音频订阅优先级。
uid
number 用户 ID。 - Since:
-
- V5.4.0
支持在音频自动订阅的情况下,设置某一个远端用户的音频为最高优先级,可以优先听到该用户的音频。 NOTE: - 该接口需要通话中设置,并需要自动订阅打开(默认打开)。 - 该接口只能设置一个用户的优先级,后设置的会覆盖之前的设置。 - 该接口通话结束后,优先级设置重置。
- V5.4.0
Returns:
- 0: 方法调用成功 - 其他: 调用失败
-
setRemoteSubscribeFallbackOption(option)
-
设置弱网条件下订阅的音视频流回退选项。
弱网环境下,订阅的音视频质量会下降。使用该接口并将 option 设置为 #kNERtcStreamFallbackVideoStreamLow 或者 #kNERtcStreamFallbackAudioOnly 后: - SDK 会在下行弱网且音视频质量严重受影响时,将视频流切换为小流,或关断视频流,从而保证或提高通信质量。 - SDK 会持续监控网络质量,并在网络质量改善时自动恢复音视频流。 - 当远端订阅流回退为音频流时,或由音频流恢复为音视频流时,SDK 会触发远端订阅流已回退为音频流 onRemoteSubscribeFallbackToAudioOnly 回调。 NOTE: - 请在加入房间(joinChannel)前调用此方法。
Parameters:
Name Type Description option
number 发布音视频流的回退选项:NERTCStreamFallbackOption。 - 0:上行或下行网络较弱时,不对音视频流作回退处理,但不能保证音视频流的质量。 - 1:在下行网络条件较差的情况下,SDK 将只接收视频小流,即低分辨率、低码率视频流。 - 2:上行网络较弱时,只发布音频流。下行网络较弱时,先尝试只接收视频小流,即低分辨率、低码率视频流。如果网络环境无法显示视频,则再回退到只接收音频流。
Returns:
- 0:方法调用成功。 - 其他:方法调用失败。
- Type
- number
-
setRenderMode(uid, mode)
-
设置本地视图/远端视图显示模式。
该方法设置视图显示模式。App 可以多次调用此方法更改显示模式。
Parameters:
Name Type Description uid
string | number 'local':本地视图 {number}:远端用户 ID。
mode
number 视频显示模式: - 0 视频尺寸等比缩放。优先保证视频内容全部显示。因视频尺寸与显示视窗尺寸不一致造成的视窗未被填满的区域填充黑色。 - 1 视频尺寸非等比缩放。保证视频内容全部显示,且填满视窗。 - 2 视频尺寸等比缩放。优先保证视窗被填满。因视频尺寸与显示视窗尺寸不一致而多出的视频将被截掉。
Returns:
- 0:方法调用成功。 - 其他:方法调用失败。
- Type
- number
-
setScreenCaptureMouseCursor(capture_cursor)
-
在共享屏幕或窗口时,更新是否显示鼠标。
Parameters:
Name Type Description capture_cursor
boolean 屏幕共享时是否捕捉鼠标光标。 - true 共享屏幕时显示鼠标 - false 共享屏幕时不显示鼠标
- Since:
-
- V5.4.0
Returns:
- 0:方法调用成功。 - 其他:方法调用失败。
- Type
- number
-
setSpatializerRenderMode(mode)
-
设置空间音效的渲染模式。
Parameters:
Name Type Description mode
number 渲染模式。 - 0: 立体声 - 1: 双声道低 - 2: 双声道中 - 3: 双声道高 - 4: 仅房间音效
- Since:
-
- V5.4.0
- 请在引擎初始化后调用此接口,且该方法在加入房间前才可调用。 NOTE: - 该接口不支持 Linux 平台。 - 请先调用 \ref #enableSpatializer 接口启用空间音效,再调用本接口。
- V5.4.0
Returns:
- 0: 方法调用成功 - 其他: 调用失败
- Type
- number
-
setSpatializerRoomProperty(config)
-
设置空间音效的房间混响属性。
Parameters:
Name Type Description config
Object 房间属性。 Properties
Name Type Description room_capacity
number 房间大小。 - 0:小房间。 - 1:中等大小房间。 - 2:大房间。 - 3:巨大房间。 - 4: 无房间效果
material
number 房间材质。 - 0: 透明的 - 1: 声学天花板,未开放 - 2: 砖块,未开放 - 3: 涂漆的砖块,未开放 - 4: 粗糙的混凝土块,未开放 - 5: 涂漆的混凝土块,未开放 - 6: 厚重的窗帘 - 7: 隔音的玻璃纤维,未开放 - 8: 薄的的玻璃,未开放 - 9: 茂密的草地,未开放 - 10: 草地 - 11: 铺装了油毡的混凝土,未开放 - 12: 大理石 - 13: 金属,未开放 - 14: 镶嵌木板的混凝土,未开放 - 15: 石膏,未开放 - 16: 粗糙石膏,未开放 - 17: 光滑石膏,未开放 - 18: 木板,未开放 - 19: 石膏灰胶纸板,未开放 - 20: 水面或者冰面,未开放 - 21: 木头天花板,未开放 - 22: 木头枪板,未开放 - 23: 均匀分布,未开放
reflection_scalar
number 反射比例,默认值 1.0。 reverb_gain
number 混响增益比例因子,默认值 1.0。 reverb_time
number 混响时间比例因子,默认值 1.0。 reverb_brightness
number 混响亮度,默认值 1.0。 - Since:
-
- V5.4.0
- 请在引擎初始化后调用此接口,且该方法在加入房间前才可调用。 - 该接口不支持 Linux。 - 请先调用 \ref #enableSpatializer 接口启用空间音效,再调用本接口。
- V5.4.0
Returns:
- 0: 方法调用成功 - 其他: 调用失败
- Type
- number
-
setSubStreamRenderMode(uid, mode)
-
设置辅流视图/远端辅流视图显示模式。
该方法设置视图显示模式。App 可以多次调用此方法更改显示模式。
Parameters:
Name Type Description uid
string | number 'local':本地辅流视图 {number}:远端辅流用户 ID。
mode
number 视频显示模式: - 0 视频尺寸等比缩放。优先保证视频内容全部显示。因视频尺寸与显示视窗尺寸不一致造成的视窗未被填满的区域填充黑色。 - 1 视频尺寸非等比缩放。保证视频内容全部显示,且填满视窗。 - 2 视频尺寸等比缩放。优先保证视窗被填满。因视频尺寸与显示视窗尺寸不一致而多出的视频将被截掉。
Returns:
- 0:方法调用成功。 - 其他:方法调用失败。
- Type
- number
-
setSubscribeAudioAllowlist(uids)
-
您可以调用该方法指定只订阅的音频流。
- 此接口需要在加入房间成功后调用。 - 对于调用接口时不在房间的 uid 不生效。
Parameters:
Name Type Description uids
Array.<Number> 只订阅此用户 uid 列表 的音频.此列表为全量列表。如果列表为空或 null,取消订阅白名单。例如:[uid1,uid2...]。 Returns:
- 0:方法调用成功。 - 其他:方法调用失败。
- Type
- number
-
setSubscribeAudioBlocklist(audioStreamType, uids)
-
您可以调用该方法指定不订阅的音频流。
- 此接口需要在加入房间成功后调用。 - 对于调用接口时不在房间的 uid 不生效。
Parameters:
Name Type Description audioStreamType
number 音频流类型。 - 0: 主流 - 1: 辅流
uids
Array.<Number> 只订阅此用户 uid 列表 的音频.此列表为全量列表。如果列表为空或 null,取消订阅白名单。例如:[uid1,uid2...]。 Returns:
- 0:方法调用成功。 - 其他:方法调用失败。
- Type
- number
-
setVideoConfig(config)
-
设置视频配置。
该方法设置视频配置。每个属性对应一套视频参数,如分辨率等,会在摄像头重启后生效。所有设置的参数均为理想情况下的最大值。当视频引擎因网络环境等原因无法达到设置的分辨率的最大值时,会取最接近最大值的那个值。
Parameters:
Name Type Description config
object 视频配置: Properties
Name Type Argument Default Description max_profile
number 视频编码的分辨率,用于衡量编码质量: - 0 160x90/120, 15fps - 1 320x180/240, 15fps - 2 640x360/480, 30fps - 3 1280x720, 30fps - 4 1920x1080, 30fps
width
number 视频编码自定义分辨率之宽度。width 为 0 表示使用 max_profile height
number 视频编码自定义分辨率之高度。height 为 0 表示使用 max_profile crop_mode
number 视频画面裁剪模式: - 0 Device Defalut - 1 16:9 - 2 4:3 - 3 1:1
framerate
number 视频帧率: - 0 默认帧率 - 7 7 帧每秒 - 10 10 帧每秒 - 15 15 帧每秒 - 24 24 帧每秒 - 30 30 帧每秒 - 60 60 帧每秒
min_framerate
number 视频最小帧率: - 0 默认帧率 - 7 7 帧每秒 - 10 10 帧每秒 - 15 15 帧每秒 - 24 24 帧每秒 - 30 30 帧每秒
bitrate
number <optional>
0 视频编码码率 kbps,取 0 时使用默认值 min_bitrate
number <optional>
0 视频编码码率下限 kbps,取 0 时使用默认值 degradation_preference
number 编码策略: - 0 使用引擎推荐值。通话场景使用平衡模式,直播推流场景使用清晰优先 - 1 帧率优先 - 2 清晰度优先 - 3 平衡模式
Returns:
- 0:方法调用成功。 - 其他:方法调用失败。
- Type
- number
-
setVideoConfigWithType(streamType, config)
-
设置视频配置。
Parameters:
Name Type Description streamType
number 视频通道类型。 - 0:主流。 - 1:辅流。
config
object 视频配置: Properties
Name Type Argument Default Description max_profile
number 视频编码的分辨率,用于衡量编码质量: - 0 160x90/120, 15fps - 1 320x180/240, 15fps - 2 640x360/480, 30fps - 3 1280x720, 30fps - 4 1920x1080, 30fps
width
number 视频编码自定义分辨率之宽度。width 为 0 表示使用 max_profile height
number 视频编码自定义分辨率之高度。height 为 0 表示使用 max_profile crop_mode
number 视频画面裁剪模式: - 0 Device Defalut - 1 16:9 - 2 4:3 - 3 1:1
framerate
number 视频帧率: - 0 默认帧率 - 7 7 帧每秒 - 10 10 帧每秒 - 15 15 帧每秒 - 24 24 帧每秒 - 30 30 帧每秒 - 60 60 帧每秒
min_framerate
number 视频最小帧率: - 0 默认帧率 - 7 7 帧每秒 - 10 10 帧每秒 - 15 15 帧每秒 - 24 24 帧每秒 - 30 30 帧每秒
bitrate
number <optional>
0 视频编码码率 kbps,取 0 时使用默认值 min_bitrate
number <optional>
0 视频编码码率下限 kbps,取 0 时使用默认值 degradation_preference
number 编码策略: - 0 使用引擎推荐值。通话场景使用平衡模式,直播推流场景使用清晰优先 - 1 帧率优先 - 2 清晰度优先 - 3 平衡模式
mirror_mode
number 设置本地视频编码的镜像模式,即本地发送视频的镜像模式,只影响远端用户看到的视频画面: - 0 Windows/macOS SDK 启用镜像模式。 - 1 启用镜像模式。 - 2 (默认)关闭镜像模式。
orientation_mode
NERtcVideoOutputOrientationMode 编码策略: - 0 该模式下 SDK 输出的视频方向与采集到的视频方向一致。接收端会根据收到的视频旋转信息对视频进行旋转(默认)。 - 1 该模式下 SDK 固定输出横屏模式的视频。如果采集到的视频是竖屏模式,则视频编码器会对其进行裁剪。 - 2 该模式下 SDK 固定输出竖屏模式的视频,如果采集到的视频是横屏模式,则视频编码器会对其进行裁剪。
- Since:
-
- V5.4.0
该方法设置视频配置。每个属性对应一套视频参数,如分辨率等,会在摄像头重启后生效。所有设置的参数均为理想情况下的最大值。当视频引擎因网络环境等原因无法达到设置的分辨率的最大值时,会取最接近最大值的那个值。
- V5.4.0
Returns:
- 0:方法调用成功。 - 其他:方法调用失败。
- Type
- number
-
setupLocalSubStreamVideoCanvas(canvas)
-
设置本地辅流视图。
该方法设置本地辅流视频显示信息。App 通过调用此接口绑定本地辅流的显示视窗(view)。在 App 开发中,通常在初始化后调用该方法进行本地视频设置,然后再加入频道。
Parameters:
Name Type Description canvas
Object 视频画布信息 Properties
Name Type Description mode
number 视频显示模式 - 0 视频尺寸等比缩放。优先保证视频内容全部显示。因视频尺寸与显示视窗尺寸不一致造成的视窗未被填满的区域填充黑色。 - 1 视频尺寸非等比缩放。保证视频内容全部显示,且填满视窗。 - 2 视频尺寸等比缩放。优先保证视窗被填满。因视频尺寸与显示视窗尺寸不一致而多出的视频将被截掉。
view
Element 视频画布对象 Returns:
- 0:方法调用成功。 - 其他:方法调用失败。
- Type
- number
-
setupLocalVideoCanvas(canvas)
-
设置本地视图。
该方法设置本地视频显示信息。App 通过调用此接口绑定本地视频流的显示视窗(view)。在 App 开发中,通常在初始化后调用该方法进行本地视频设置,然后再加入频道。
Parameters:
Name Type Description canvas
Object 视频画布信息 Properties
Name Type Description mode
number 视频画布缩放模式 - 0 视频尺寸等比缩放。优先保证视频内容全部显示。因视频尺寸与显示视窗尺寸不一致造成的视窗未被填满的区域填充黑色。 - 1 视频尺寸非等比缩放。保证视频内容全部显示,且填满视窗。 - 2 视频尺寸等比缩放。优先保证视窗被填满。因视频尺寸与显示视窗尺寸不一致而多出的视频将被截掉。
view
Element 视频画布对象 Returns:
- 0:方法调用成功。 - 其他:方法调用失败。
- Type
- number
-
setupRemoteSubStreamVideoCanvas(uid, canvas)
-
设置远端用户辅流视图。
该方法绑定远端用户和辅流显示视图,即设定 uid 指定的用户用哪个视图显示。调用该接口时需要指定远端视频的 uid,一般可以在用户加入后设置好。 NODE: - 如果 App 不能事先知道对方的 uid,可以通过NERtcChannel#on方法监听 onUserJoined 事件时设置。 - 退出频道后,SDK 会把远端用户的绑定关系清除掉。
Parameters:
Name Type Description uid
number 远端用户 ID。 canvas
Object 视频画布信息 Properties
Name Type Description mode
number 视频显示模式 - 0 视频尺寸等比缩放。优先保证视频内容全部显示。因视频尺寸与显示视窗尺寸不一致造成的视窗未被填满的区域填充黑色。 - 1 视频尺寸非等比缩放。保证视频内容全部显示,且填满视窗。 - 2 视频尺寸等比缩放。优先保证视窗被填满。因视频尺寸与显示视窗尺寸不一致而多出的视频将被截掉。
view
Element 视频画布对象 Returns:
- 0:方法调用成功。 - 其他:方法调用失败。
- Type
- number
-
setupRemoteVideoCanvas(uid, canvas)
-
设置远端用户视图。
该方法绑定远端用户和显示视图,即设定 uid 指定的用户用哪个视图显示。调用该接口时需要指定远端视频的 uid,一般可以在用户加入后设置好。 如果 App 不能事先知道对方的 uid,可以在 APP 收到 onUserJoined 事件时设置。 退出频道后,SDK 会把远端用户的绑定关系清除掉。
Parameters:
Name Type Description uid
number 远端用户 ID。 canvas
Object 视频画布信息 Properties
Name Type Description mode
number 视频画布缩放模式 - 0 视频尺寸等比缩放。优先保证视频内容全部显示。因视频尺寸与显示视窗尺寸不一致造成的视窗未被填满的区域填充黑色。 - 1 视频尺寸非等比缩放。保证视频内容全部显示,且填满视窗。 - 2 视频尺寸等比缩放。优先保证视窗被填满。因视频尺寸与显示视窗尺寸不一致而多出的视频将被截掉。
view
Element 视频画布对象 Returns:
- 0:方法调用成功。 - 其他:方法调用失败。
- Type
- number
-
startChannelMediaRelay(config)
-
开始跨房间媒体流转发。
- 该方法可用于实现跨房间连麦等场景。支持同时转发到 4 个房间,同一个房间可以有多个转发进来的媒体流。 - 成功调用该方法后,SDK 会触发 onMediaRelayStateChanged 和 onMediaRelayEvent 回调,并在回调中报告当前的跨房间媒体流转发状态和事件。 NOTE: - 此方法仅适用于用户角色为主播时。 - 成功调用该方法后,若您想再次调用该方法,必须先调用 stopChannelMediaRelay 方法退出当前的转发状态。 - 成功开始跨房间转发媒体流后,如果您需要修改目标房间,例如添加或删减目标房间等,可以调用方法 updateChannelMediaRelay 更新目标房间信息。
Parameters:
Name Type Description config
Object 跨房间媒体流转发参数配置信息: NERtcChannelMediaRelayConfiguration Properties
Name Type Description src_infos
Object 源房间信息: NERtcChannelMediaRelayInfo Properties
Name Type Description channel_name
String 源房间名。默认值为 nil,表示 SDK 填充当前的房间名。 channel_token
String 能加入源房间的 Token。 uid
String 标识源房间中的转发媒体流的 UID。 dest_infos
Object 目标房间信息: NERtcChannelMediaRelayInfo Properties
Name Type Description channel_name
String 目标房间的房间名。 channel_token
String 可以加入目标房间的 Token。 uid
String 标识目标房间中的转发媒体流的 UID。请确保不要将该参数设为目标房间的主播的 UID,并与目标房间中的 所有 UID 都不同。 Returns:
- 0:方法调用成功。 - 其他:方法调用失败。
- Type
- number
-
startScreenCaptureByDisplayId(displayId [, regionRect=], param)
-
通过屏幕 ID 共享屏幕。共享一个屏幕或该屏幕的部分区域。用户需要在该方法中指定想要共享的屏幕 ID。
NOTE: - 该方法仅适用于 Windows 和 macOS。 - 该方法打开视频辅流。
Parameters:
Name Type Argument Description displayId
number 指定待共享的屏幕 ID。开发者需要通过该参数指定您要共享的那个屏幕。 regionRect=
object <optional>
(可选) 指定待共享区域相对于整个屏幕屏幕的位置。如果设置的共享区域超出了屏幕的边界,则只共享屏幕内的内容;如果将 width 或 height 设为 0, 则共享整个屏幕。 regionRect.x
number 左上角的横向偏移 regionRect.y
number 左上角的纵向偏移 regionRect.width
number 待共享区域的宽 regionRect.height
number 待共享区域的高 param
object 屏幕共享的编码参数配置。 Properties
Name Type Argument Default Description profile
object <optional>
2 屏幕共享编码参数配置: - 0 640x480, 5fps - 1 1280x720, 5fps - 2 1920x1080, 5fps。默认 - 3 自定义
dimensions
object 屏幕共享视频发送的最大像素值,param.profile=3 时生效: Properties
Name Type Description width
number 宽度 height
number 高度 frame_rate
number <optional>
5 共享视频的帧率,param.profile=3 时生效,单位为 fps;默认值为 5,建议不要超过 15 bitrate
number <optional>
0 共享视频的码率,单位为 bps;默认值为 0,表示 SDK 根据当前共享屏幕的分辨率计算出一个合理的值 capture_mouse_cursor
boolean 是否采集鼠标用于屏幕共享 window_focus
boolean 调用 NERtcChannel#startScreenCaptureByWindowId 方法共享窗口时,是否将该窗口前置 excluded_window_list
Array.<number> 待屏蔽窗口的 ID 列表 excluded_window_count
number 待屏蔽窗口的数量 prefer
number 编码策略倾向: - 0 动画模式 - 1 细节模式
Returns:
- 0:方法调用成功。 - -100: 需要先调用 NERtcChannel#enumerateScreenCaptureSourceInfo 缓存桌面信息 - 其他:方法调用失败。
- Type
- number
-
startScreenCaptureByScreenRect(screenRect [, regionRect=], param)
-
通过指定区域共享屏幕。共享一个屏幕或该屏幕的部分区域。用户需要在该方法中指定想要共享的屏幕区域。
NOTE: - 该方法仅适用于 Windows。 - 该方法打开视频辅流。
Parameters:
Name Type Argument Description screenRect
object 指定待共享的屏幕相对于虚拟屏的位置。 Properties
Name Type Description x
number 左上角的横向偏移 y
number 左上角的纵向偏移 width
number 待共享区域的宽 height
number 待共享区域的高 regionRect=
object <optional>
(可选) 指定待共享区域相对于整个屏幕屏幕的位置。如果设置的共享区域超出了屏幕的边界,则只共享屏幕内的内容;如果将 width 或 height 设为 0, 则共享整个屏幕。 regionRect.x
number 左上角的横向偏移 regionRect.y
number 左上角的纵向偏移 regionRect.width
number 待共享区域的宽 regionRect.height
number 待共享区域的高 param
object 屏幕共享的编码参数配置。 Properties
Name Type Argument Default Description profile
object <optional>
2 屏幕共享编码参数配置: - 0 640x480, 5fps - 1 1280x720, 5fps - 2 1920x1080, 5fps。默认 - 3 自定义
dimensions
object 屏幕共享视频发送的最大像素值,param.profile=3 时生效: Properties
Name Type Description width
number 宽度 height
number 高度 frame_rate
number <optional>
5 共享视频的帧率,param.profile=3 时生效,单位为 fps;默认值为 5,建议不要超过 15 bitrate
number <optional>
0 共享视频的码率,单位为 bps;默认值为 0,表示 SDK 根据当前共享屏幕的分辨率计算出一个合理的值 capture_mouse_cursor
boolean 是否采集鼠标用于屏幕共享 window_focus
boolean 调用 NERtcChannel#startScreenCaptureByWindowId 方法共享窗口时,是否将该窗口前置 excluded_window_list
Array.<number> 待屏蔽窗口的 ID 列表 excluded_window_count
number 待屏蔽窗口的数量 prefer
number 编码策略倾向: - 0 动画模式 - 1 细节模式
Returns:
- 0:方法调用成功。 - 其他:方法调用失败。
- Type
- number
-
startScreenCaptureByWindowId(windowid [, regionRect=], param)
-
通过窗口 ID 共享窗口。共享一个窗口或该窗口的部分区域。用户需要在该方法中指定想要共享的窗口 ID。
NOTE: - 该方法仅适用于 Windows 和 macOS。 - 该方法打开视频辅流。
Parameters:
Name Type Argument Description windowid
number 指定待共享的窗口 ID。 regionRect=
object <optional>
(可选) 指定待共享区域相对于整个屏幕屏幕的位置。如果设置的共享区域超出了屏幕的边界,则只共享屏幕内的内容;如果将 width 或 height 设为 0, 则共享整个屏幕。 regionRect.x
number 左上角的横向偏移 regionRect.y
number 左上角的纵向偏移 regionRect.width
number 待共享区域的宽 regionRect.height
number 待共享区域的高 param
object 屏幕共享的编码参数配置。 Properties
Name Type Argument Default Description profile
object <optional>
2 屏幕共享编码参数配置: - 0 640x480, 5fps - 1 1280x720, 5fps - 2 1920x1080, 5fps。默认 - 3 自定义
dimensions
object 屏幕共享视频发送的最大像素值,param.profile=3 时生效: Properties
Name Type Description width
number 宽度 height
number 高度 frame_rate
number <optional>
5 共享视频的帧率,param.profile=3 时生效,单位为 fps;默认值为 5,建议不要超过 15 bitrate
number <optional>
0 共享视频的码率,单位为 bps;默认值为 0,表示 SDK 根据当前共享屏幕的分辨率计算出一个合理的值 capture_mouse_cursor
boolean 是否采集鼠标用于屏幕共享 window_focus
boolean 调用 NERtcChannel#startScreenCaptureByWindowId 方法共享窗口时,是否将该窗口前置 excluded_window_list
Array.<number> 待屏蔽窗口的 ID 列表 excluded_window_count
number 待屏蔽窗口的数量 prefer
number 编码策略倾向: - 0 动画模式 - 1 细节模式
Returns:
- 0:方法调用成功。 - 其他:方法调用失败。
- Type
- number
-
stopChannelMediaRelay()
-
停止跨房间媒体流转发。
主播离开房间时,跨房间媒体流转发自动停止,您也可以在需要的时候随时调用 stopChannelMediaRelay 方法,此时主播会退出所有目标房间。 成功调用该方法后,SDK 会触发 onMediaRelayStateChanged 回调。
Returns:
- 0:方法调用成功。 - 其他:方法调用失败。
- Type
- number
-
stopScreenCapture()
-
停止屏幕共享。
Returns:
- 0:方法调用成功。 - 其他:方法调用失败。
- Type
- number
-
subscribeAllRemoteAudioStream(subscribe)
-
取消或恢复订阅所有远端用户的音频主流。
Parameters:
Name Type Description subscribe
boolean - true:订阅所有远端用户的音频主流。 - false:取消订阅所有远端用户的音频主流。
- Since:
-
- V5.4.0
加入房间时,默认订阅所有远端用户的音频主流。 NOTE: - 设置该方法的 subscribe 参数为 true 后,对后续加入房间的用户同样生效。 - 在开启自动订阅(默认)时,设置该方法的 subscribe 参数为 false 可以实现取消订阅所有远端用户的音频流,但此时无法再调用NERtcChannel#subscribeRemoteAudioStream方法单独订阅指定远端用户的音频流。
- V5.4.0
Returns:
- 0:方法调用成功。 - 其他:方法调用失败。
- Type
- number
-
subscribeRemoteAudioStream(uid, subscribe)
-
订阅/取消订阅指定音频流。
Parameters:
Name Type Description uid
number 指定用户的 ID subscribe
boolean - true:订阅指定音频流(默认)。 - false:取消订阅指定音频流。
Returns:
- 0:方法调用成功。 - 其他:方法调用失败。
- Type
- number
-
subscribeRemoteSubStreamAudio(uid, subscribe)
-
订阅/取消订阅指定音频辅流
Parameters:
Name Type Description uid
number 指定用户的 ID subscribe
boolean - true:订阅指定音频辅流(默认)。 - false:取消订阅指定音频辅流。
- Since:
-
- V5.4.0
Returns:
- 0:方法调用成功。 - 其他:方法调用失败。
- Type
- number
-
subscribeRemoteVideoStream(uid, type, subscribe)
-
订阅 / 取消订阅指定远端用户的视频流。对方打开视频后需要主动订阅
Parameters:
Name Type Description uid
number 指定用户的用户 ID。 type
number 流类型: - 0 默认大流 - 1 小流 - 2 不订阅
subscribe
boolean - true:订阅指定远端用户的视频流。 - false:取消订阅指定远端用户的视频流。
Returns:
- 0:方法调用成功。 - 其他:方法调用失败。
- Type
- number
-
subscribeRemoteVideoSubStream(uid, subscribe)
-
订阅 / 取消订阅指定远端用户的视频辅流。
对方打开视频后需要主动订阅 NOTE: - 必须在远端加入房间后调用。 - 必须先设置远端辅流画布。
Parameters:
Name Type Description uid
number 指定用户的用户 ID。 subscribe
number - true:订阅指定远端用户的视频流。 - false:取消订阅指定远端用户的视频流。
Returns:
- 0:方法调用成功。 - 其他:方法调用失败。
- Type
- number
-
updateChannelMediaRelay(config)
-
更新媒体流转发的目标房间。
- 成功开始跨房间转发媒体流后,如果您需要修改目标房间,例如添加或删减目标房间等,可以调用此方法。 - 成功调用该方法后,SDK 会触发 onMediaRelayStateChanged 和 onMediaRelayEvent 回调,并在回调中报告当前的跨房间媒体流转发状态和事件。 NOTE: - 请在加入房间并成功调用 startChannelMediaRelay 开始跨房间媒体流转发后,调用此方法。
Parameters:
Name Type Description config
Object 跨房间媒体流转发参数配置信息: NERtcChannelMediaRelayConfiguration Properties
Name Type Description src_infos
Object 源房间信息: NERtcChannelMediaRelayInfo Properties
Name Type Description channel_name
String 源房间名。默认值为 nil,表示 SDK 填充当前的房间名。 channel_token
String 能加入源房间的 Token。 uid
String 标识源房间中的转发媒体流的 UID。 dest_infos
Object 目标房间信息: NERtcChannelMediaRelayInfo Properties
Name Type Description channel_name
String 目标房间的房间名。 channel_token
String 可以加入目标房间的 Token。 uid
String 标识目标房间中的转发媒体流的 UID。请确保不要将该参数设为目标房间的主播的 UID,并与目标房间中的 所有 UID 都不同。 Returns:
- 0:方法调用成功。 - 其他:方法调用失败。
- Type
- number
-
updateLiveStreamTask(info)
-
更新修改房间推流任务。通话中有效。
Parameters:
Name Type Description info
Object 直播任务信息。 Properties
Name Type Description task_id
String 推流任务 ID,为推流任务的唯一标识,用于过程中增删任务操作 <64 chars stream_url
String 直播推流地址 <256 chars server_record_enabled
Boolean 服务器录制功能是否开启 ls_mode
Number 直播推流模式: - 0 推流带视频 - 1 推流纯音频
layout
Object 视频布局: Properties
Name Type Description width
number 视频推流宽度 height
number 视频推流高度 background_color
number 视频推流背景色,(R & 0xff) << 16 | (G & 0xff) << 8 | (B & 0xff) user_count
number 成员布局个数 users
Array.<object> 成员布局数组: users[].uid
number 用户 ID users[].video_push
boolean 是否推送该用户视频流,info.ls_mode=1 时无效 users[].adaption
number 视频流裁剪模式: - 0 视频尺寸等比缩放。优先保证视频内容全部显示。因视频尺寸与显示视窗尺寸不一致造成的视窗未被填满的区域填充背景色 - 1 视频尺寸等比缩放。优先保证视窗被填满。因视频尺寸与显示视窗尺寸不一致而多出的视频将被截掉
users[].x
number 画面离主画面左边距 users[].y
number 画面离主画面上边距 users[].width
number 画面在主画面的显示宽度,画面右边超出主画面会失败 users[].height
number 画面在主画面的显示高度,画面底边超出主画面会失败 users[].audio_push
boolean 是否推送该用户音频流 users[].bg_image
object 背景图信息: Properties
Name Type Description url
String 图片地址 x
number 画面离主画面左边距 y
number 画面离主画面上边距 width
number 画面在主画面的显示宽度,画面右边超出主画面会失败 height
number 画面在主画面的显示高度,画面底边超出主画面会失败 Fires:
Returns:
- 0:方法调用成功。 - 其他:方法调用失败。
- Type
- number
-
updatePermissionKey(key)
-
更新权限密钥。
Parameters:
Name Type Description key
string 新的权限密钥 - Since:
-
- V5.4.0
- 通过本接口可以实现当用户权限被变更,或者收到权限密钥即将过期的回调 onPermissionKeyWillExpire 时,更新权限密钥。 NOTE: - 请确保已开通高级 Token 鉴权功能,具体请联系网易云信商务经理。 - 请在引擎初始化之后调用此接口,且该方法仅可在加入房间后调用。 - 适用于变更指定用户加入、创建房间或上下麦时发布流相关权限的场景。
- V5.4.0
Returns:
- 0: 方法调用成功 - 其他: 调用失败
- Type
- number
-
updateScreenCaptureParameters(window_list)
-
更新屏幕共享参数。
Parameters:
Name Type Description window_list
list 需屏蔽的窗口 ID 列表, 例如:[id1,id2...]。 - Since:
-
- V5.4.0
- 仅支持 Windows
- V5.4.0
Returns:
- 0:方法调用成功。 - 其他:方法调用失败。
- Type
- number
-
updateScreenCaptureRegion(param)
-
在共享屏幕或窗口时,更新共享的区域。
Parameters:
Name Type Description param
object 屏幕共享的编码参数配置。 Properties
Name Type Argument Default Description profile
object <optional>
2 屏幕共享编码参数配置: - 0 640x480, 5fps - 1 1280x720, 5fps - 2 1920x1080, 5fps。默认 - 3 自定义
dimensions
object 屏幕共享视频发送的最大像素值,param.profile=3 时生效: Properties
Name Type Description width
number 宽度 height
number 高度 frame_rate
number <optional>
5 共享视频的帧率,param.profile=3 时生效,单位为 fps;默认值为 5,建议不要超过 15 bitrate
number <optional>
0 共享视频的码率,单位为 bps;默认值为 0,表示 SDK 根据当前共享屏幕的分辨率计算出一个合理的值 capture_mouse_cursor
boolean 是否采集鼠标用于屏幕共享 window_focus
boolean 调用 NERtcChannel#startScreenCaptureByWindowId 方法共享窗口时,是否将该窗口前置 excluded_window_list
Array.<number> 待屏蔽窗口的 ID 列表 excluded_window_count
number 待屏蔽窗口的数量 prefer
number 编码策略倾向: - 0 动画模式 - 1 细节模式
Returns:
- 0:方法调用成功。 - 其他:方法调用失败。
- Type
- number
-
updateSelfPosition(info)
-
更新本地用户的空间位置。
Parameters:
Name Type Description info
Object L 通过 info 参数设置空间音效中说话者和接收者的空间位置信息。 Properties
Name Type Description speaker_position
Array.<Number> 说话者的位置信息,三个值依次表示 X、Y、Z 的坐标值。默认值[0,0,0]。 speaker_quaternion
Array.<Number> 说话者的旋转信息,通过四元组来表示,数据格式为[w, x, y, z]。默认值[0,0,0,0]。 head_position
Array.<Number> 接收者的位置信息,三个值依次表示 X、Y、Z 的坐标值。默认值[0,0,0]。 head_quaternion
Array.<Number> 接收者的旋转信息,通过四元组来表示,数据格式为[w, x, y, z]。默认值[0,0,0,0]。 - Since:
-
- V5.5.10
- 请在引擎初始化后调用此接口,且该方法在加入房间前后均可调用。
- V5.5.10
Returns:
- 0: 方法调用成功 - 其他: 调用失败
- Type
- number
Events
-
onAddLiveStreamTask
-
通知添加直播任务结果。
该回调异步返回 NERtcChannel#addLiveStreamTask 接口的调用结果;实际推流状态参考 onLiveStreamState 事件
Parameters:
Name Type Description task_id
String 任务 ID url
String 推流地址 error
number 结果 -
onApiCallExecuted
-
API 调用结束回调。
Parameters:
Name Type Description apiName
string API 名称 code
NERtcErrorCode API 执行结果错误码 msg
string API 执行结果描述 - Since:
-
- V5.4.0
-
onClientRoleChanged
-
参会者角色类型变更回调。
本地用户加入房间后,通过 NERtcChannel#setClientRole 切换用户角色后会触发此回调。例如从主播切换为观众、从观众切换为主播。 NOTE: 直播场景下,如果您在加入房间后调用该方法切换用户角色,调用成功后,会触发以下回调: - 主播切观众,本端触发 onClientRoleChanged 回调,远端触发 onUserLeft 回调。 - 观众切主播,本端触发 onClientRoleChanged 回调,远端触发 onUserJoined 回调。
Parameters:
Name Type Description oldRole
number 原角色类型。 - 0 主播 - 1 观众
newRole
number 新角色类型。 - 0 主播 - 1 观众
-
onConnectionStateChange
-
连接状态变更。
有时候由于通话流程、用户行为、网络原因等,客户端通话状态变更,触发此回调。
Parameters:
Name Type Description state
number 变更后通话状态: - 1 没加入频道 - 2 正在加入频道 - 3 加入频道成功 - 4 正在尝试重新加入频道 - 5 加入频道失败
reason
number 变更原因: - 1 离开房间 - 2 房间被关闭 - 3 用户被踢 - 4 服务超时 - 5 加入房间 - 6 加入房间成功 - 7 重新加入房间成功(重连) - 8 媒体连接断开 - 9 信令连接断开 - 10 请求频道失败 - 11 加入频道失败
-
onDisconnect
-
掉线回调。
由于非网络原因,客户端可能会和服务器失去连接,此时 SDK 无需自动重连,直接触发此回调方法。
Parameters:
Name Type Description result
NERtcErrorCode 错误码 -
onError
-
发生错误回调。
Parameters:
Name Type Description errorCode
NERtcErrorCode 错误码 msg
string 错误描述 -
onFirstAudioDataReceived
-
已接收到远端音频首帧回调。
Parameters:
Name Type Description uid
number 发送音频帧的远端用户的用户 ID。 -
onFirstAudioFrameDecoded
-
已解码远端音频首帧的回调。
Parameters:
Name Type Description uid
number 远端用户 ID。 -
onFirstVideoDataReceived
-
已显示首帧远端视频回调。
第一帧远端视频显示在视图上时,触发此调用。
Parameters:
Name Type Description uid
number 用户 ID,指定是哪个用户的视频流。 -
onFirstVideoDataReceivedEx
-
已显示首帧远端视频回调。
Parameters:
Name Type Description streamType
number 视频流类型 - 0 主流 - 1 辅流
uid
number 用户 ID,指定是哪个用户的视频流。 - Since:
-
- V5.4.0
第一帧远端视频显示在视图上时,触发此调用。
- V5.4.0
-
onFirstVideoFrameDecoded
-
已显示首帧远端视频回调。
引擎收到第一帧远端视频流并解码成功时,触发此调用。App 可在此回调中设置该用户的 video canvas。
Parameters:
Name Type Description uid
number 用户 ID,指定是哪个用户的视频流。 width
number 视频流宽(px)。 height
number 视频流高(px)。 -
onFirstVideoFrameDecodedEx
-
已显示首帧远端视频回调。
Parameters:
Name Type Description streamType
number 视频流类型 - 0 主流 - 1 辅流
uid
number 用户 ID,指定是哪个用户的视频流。 width
number 视频流宽(px)。 height
number 视频流高(px)。 - Since:
-
- V5.4.0
引擎收到第一帧远端视频流并解码成功时,触发此调用。App 可在此回调中设置该用户的 video canvas。
- V5.4.0
-
onFirstVideoFrameRender
-
已接收到远端视频首帧并完成渲染的回调。
当 SDK 收到远端视频的第一帧并渲染成功时,会触发该回调。
Parameters:
Name Type Description type
number 视频通道类型 - 0 主流 - 1 辅流
uid
number 用户 ID,提示是哪个用户的视频流。 width
number 首帧视频的宽度,单位为 px。 height
number 视频采集的高,单位为 px * @param {number} 首帧视频的高度,单位为 px。 -
onJoinChannel
-
加入频道回调
Parameters:
Name Type Description cid
number 频道 ID uid
number 用户 ID result
NERtcErrorCode 错误码 elapsed
number 从 joinChannel 开始到发生此事件过去的时间(毫秒) -
onLabFeatureCallback
-
实验功能回调接口,用于回调一些非正式的事件及数据通知。
Parameters:
Name Type Description key
string 返回回调类型。 param
string 值内容。对应字符串的参数值,如果是结构体对象,需要转成 JSON 格式。 -
onLeaveChannel
-
离开频道回调。 App 调用 NERtcChannel#leaveChannel 方法时,SDK 提示 App 离开频道是否成功。
Parameters:
Name Type Description result
NERtcErrorCode 错误码 -
onLiveStreamState
-
通知直播推流状态
Parameters:
Name Type Description task_id
string 任务 ID url
string 推流地址 state
number 直播推流状态: - 505:推流中。 - 506:推流失败。 - 511:推流结束。
-
onLocalAudioStats
-
本地音频流统计信息回调。
该回调描述本地设备发送音频流的统计信息,每 2 秒触发一次。
Parameters:
Name Type Description stats
object 本地音频流统计信息: Properties
Name Type Description num_channels
number 当前采集声道数。 sent_sample_rate
number 本地上行音频采样率。 sent_bitrate
number (上次统计后)发送码率(Kbps)。 audio_loss_rate
number 特定时间内的音频丢包率 (%)。 rtt
number RTT。 volume
number 音量,范围为 0(最低)- 100(最高)。 -
onLocalAudioVolumeIndication
-
提示频道内本地用户瞬时音量的回调。
该回调默认禁用。可以通过 NERtcChannel#enableAudioVolumeIndication 方法开启; 开启后,本地用户说话,SDK 会按 NERtcChannel#enableAudioVolumeIndication 方法中设置的时间间隔触发该回调。 如果本地用户将自己静音(调用了 NERtcChannel#muteLocalAudioStream),SDK 将音量设置为 0 后回调给应用层。
Parameters:
Name Type Description volume
number (混音后的)音量,取值范围为 [0,100]。 -
onLocalAudioVolumeIndicationEx
-
提示频道内本地用户瞬时音量的回调。
Parameters:
Name Type Description volume
number (混音后的)音量,取值范围为 [0,100]。 enable_vad
number 是否检测到人声。 - Since:
-
- V5.4.0
该回调默认禁用。可以通过 NERtcChannel#enableAudioVolumeIndication 方法开启; 开启后,本地用户说话,SDK 会按 NERtcChannel#enableAudioVolumeIndication 方法中设置的时间间隔触发该回调。 如果本地用户将自己静音(调用了 NERtcChannel#muteLocalAudioStream),SDK 将音量设置为 0 后回调给应用层。
- V5.4.0
-
onLocalPublishFallbackToAudioOnly
-
本地发布流已回退为音频流、或已恢复为音视频流回调。
如果您调用了设置本地推流回退选项 setLocalPublishFallbackOption 接口,并将 option 设置为 #kNERtcStreamFallbackAudioOnly 后,当上行网络环境不理想、本地发布的媒体流回退为音频流时,或当上行网络改善、媒体流恢复为音视频流时,会触发该回调。Parameters:
Name Type Description is_fallback
boolean 本地发布流已回退或已恢复。 - true: 由于网络环境不理想,发布的媒体流已回退为音频流。 - false:由于网络环境改善,从音频流恢复为音视频流。
stream_type
对应的视频流类型,即主流或辅流。 - 0 主流 - 1 辅流
-
onLocalVideoRenderSizeChanged
-
本地视频预览的分辨率变化回调, 与是否进入房间的状态无关,与硬件状态有关,也适用于预览。
Parameters:
Name Type Description type
number 视频通道类型 - 0 主流 - 1 辅流
width
number 视频采集的宽,单位为 px height
number 视频采集的高,单位为 px - Since:
-
- V5.4.1
当本地视频的分辨率发生变化,会触发此回调。 当调用 SetCaptureConfig 设置采集分辨率或调用 SetVideoConfig 设置编码属性时可以触发该回调。回调的分辨率宽和高为本地预览的宽和高,和实际编码发送的分辨率不一定一致 开发者可以根据该回调的分辨率来动态调整预览视图的比例等。
- V5.4.1
-
onLocalVideoStats
-
本地视频流统计信息回调。
该回调描述本地设备发送视频流的统计信息,每 2 秒触发一次。
Parameters:
Name Type Description stats
object 本地视频流统计信息: Properties
Name Type Description video_layers_count
number 视频流条数。 video_layers_list
Array.<object> 视频流信息数组: video_layers_list[].layer_type
number 流类型: 1、主流,2、辅流。 video_layers_list[].width
number 视频流宽(像素) video_layers_list[].height
number 视频流高(像素) video_layers_list[].capture_frame_rate
number 视频采集帧率。 video_layers_list[].render_frame_rate
number 视频渲染帧率。 video_layers_list[].encoder_frame_rate
number 编码帧率。 video_layers_list[].sent_frame_rate
number 发送帧率。 video_layers_list[].sent_bitrate
number 发送码率(Kbps)。 video_layers_list[].target_bitrate
number 编码器目标码率(Kbps)。 video_layers_list[].encoder_bitrate
number 编码器实际编码码率(Kbps)。 video_layers_list[].codec_name
String 视频编码器名字。 -
onMediaRelayEvent
-
媒体流相关转发事件回调。
Parameters:
Name Type Description event
number 当前媒体流转发事件。详细信息请参考 #NERtcChannelMediaRelayEvent。 - 0 媒体流转发停止。 - 1 正在连接服务器,开始尝试转发媒体流。 - 2 连接服务器成功。 - 3 视频音频媒体流成功转发到目标房间。 - 4 音频媒体流成功转发到目标房间。 - 5 媒体流屏幕共享等其他流成功转发到目标房间。 - 100 媒体流转发失败。原因包括: - 414 请求参数错误。 - 30110 重复调用 startChannelMediaRelay。 - 30111 媒体流转发权限不足。例如调用 startChannelMediaRelay 的房间成员为主播角色、或房间为双人通话房间,不支持转发媒体流。 - 30112 调用 stopChannelMediaRelay 前,未调用 startChannelMediaRelay。
channel_name
转发的目标房间名。 error
相关错误码。详细信息请参考 #NERtcErrorCode。 -
onMediaRelayStateChanged
-
跨房间媒体流转发状态发生改变回调。
Parameters:
Name Type Description state
number 当前跨房间媒体流转发状态。 - 0 初始状态。在成功调用 stopChannelMediaRelay 停止跨房间媒体流转发后,onMediaRelayStateChanged 会回调该状态。 - 1 尝试跨房间转发媒体流。 - 2 源房间主播角色成功加入目标房间。 - 3 发生异常,请参考 onMediaRelayEvent 的 error 中提示的错误信息。
channel_name
媒体流转发的目标房间名。 -
onMediaRightChange
-
服务端禁言音视频权限变化回调。
Parameters:
Name Type Description is_audio_banned
boolean 是否禁用音频: - true 禁用音频 - false 取消禁用音频
is_video_banned
boolean 是否禁用视频: - true 禁用视频 - false 取消禁用视频
- Since:
-
- V5.4.0
-
onNetworkQuality
-
通话中每个用户的网络上下行质量报告回调。
该回调描述每个用户在通话中的网络状态,每 2 秒触发一次,只上报状态有变更的成员。
Parameters:
Name Type Description uc
number 数组的大小,即用户数。 stats
object 每个用户 ID 和网络上下行质量信息的数组: stats[].uid
number 用户 ID,指定是哪个用户的视频流。 stats[].tx_quality
number 该用户的上行网络质量: - 0 网络质量未知 - 1 网络质量极好 - 2 用户主观感觉和 excellent 差不多,但码率可能略低于 excellent - 3 用户主观感受有瑕疵但不影响沟通 - 4 勉强能沟通但不顺畅 - 5 网络质量非常差,基本不能沟通 - 6 完全无法沟通
stats[].rx_quality
number 该用户的下行网络质量: - 0 网络质量未知 - 1 网络质量极好 - 2 用户主观感觉和 excellent 差不多,但码率可能略低于 excellent - 3 用户主观感受有瑕疵但不影响沟通 - 4 勉强能沟通但不顺畅 - 5 网络质量非常差,基本不能沟通 - 6 完全无法沟通
-
onPermissionKeyWillExpire
-
权限密钥即将过期事件回调
- 由于 PermissionKey 具有一定的时效,在通话过程中如果 PermissionKey 即将失效,SDK 会提前 30 秒触发该回调,提醒用户更新 PermissionKey。
- Since:
-
- V5.4.0
-
onReconnectingStart
-
触发重连。
有时候由于网络原因,客户端可能会和服务器失去连接,SDK 会进行自动重连,开始自动重连后触发此回调。
Parameters:
Name Type Description cid
频道 ID。 uid
用户 ID。 -
onRecvSEIMsg
-
监听 SEI 数据回调
Parameters:
Name Type Description uid
number 发送该 sei 的用户 ID data
ArrayBuffer 接收到的 sei 数据 - Since:
-
- 4.1.110
-
onRejoinChannel
-
重新加入频道回调。
有时候由于网络原因,客户端可能会和服务器失去连接,SDK 会进行自动重连,自动重连后触发此回调方法。
Parameters:
Name Type Description cid
number 频道 ID uid
number 用户 ID result
NERtcErrorCode 错误码 elapsed
number 从 joinChannel 开始到发生此事件过去的时间(毫秒) -
onRemoteAudioStats
-
通话中远端音频流的统计信息回调。
该回调描述远端用户在通话中端到端的音频流统计信息,每 2 秒触发一次。
Parameters:
Name Type Description uc
number stats 数组的大小 stats
Array.<object> 每个远端用户音频统计信息的数组: stats[].uid
number 用户 ID,指定是哪个用户的音频流 stats[].received_bitrate
number (上次统计后)接收到的码率(Kbps) stats[].total_frozen_time
number 用户的下行音频卡顿累计时长(ms) stats[].frozen_rate
number 用户的下行音频平均卡顿率(%)。 stats[].audio_loss_rate
number 特定时间内的音频丢包率 (%)。 stats[].volume
number 音量,范围为 0(最低)- 100(最高)。 -
onRemoteAudioVolumeIndication
-
提示频道内谁正在说话及说话者瞬时音量的回调。
该回调默认禁用。可以通过 NERtcChannel#enableAudioVolumeIndication 方法开启; 开启后,无论频道内是否有人说话,SDK 都会按 NERtcChannel#enableAudioVolumeIndication 方法中设置的时间间隔触发该回调。 在返回的 speakers 数组中: - 如果有 uid 出现在上次返回的数组中,但不在本次返回的数组中,则默认该 uid 对应的远端用户没有说话。 - 如果 volume 为 0,表示该用户没有说话。 - 如果 speakers 数组为空,则表示此时远端没有人说话。
Parameters:
Name Type Description speakers
Array.<object> 每个说话者的用户 ID 和音量信息的数组: speakers[].uid
number 说话者的用户 ID。如果返回的 uid 为 0,则默认为本地用户 speakers[].volume
number 说话者的音量,范围为 0(最低)- 100(最高) speaker_number
number speakers 数组的大小,即说话者的人数。 total_volume
number (混音后的)总音量,取值范围为 [0,100]。 -
onRemoteSubscribeFallbackToAudioOnly
-
订阅的远端流已回退为音频流、或已恢复为音视频流回调。
如果您调用了设置远端订阅流回退选项 setRemoteSubscribeFallbackOption 接口并将 option 设置 #kNERtcStreamFallbackAudioOnly 后,当下行网络环境不理想、仅接收远端音频流时,或当下行网络改善、恢复订阅音视频流时,会触发该回调。
Parameters:
Name Type Description uid
number 远端用户的 ID。 is_fallback
boolean 远端订阅流已回退或恢复: - true: 由于网络环境不理想,发布的媒体流已回退为音频流。 - false:由于网络环境改善,从音频流恢复为音视频流。
stream_type
对应的视频流类型,即主流或辅流。 - 0 主流 - 1 辅流
-
onRemoteVideoReceiveSizeChanged
-
接收的远端视频分辨率变化回调。
Parameters:
Name Type Description uid
number 远端用户 ID,指定是哪个用户的视频流 type
number 视频通道类型 - 0 主流 - 1 辅流
width
number 视频采集的宽,单位为 px height
number 视频采集的高,单位为 px - Since:
-
- V5.4.1
当远端用户视频流的分辨率发生变化时,会触发此回调,例如推流端调用 SetVideoConfig 更改了编码分辨率设置,本地会收到该远端用户分辨率变化通知。
- V5.4.1
-
onRemoteVideoStats
-
通话中远端视频流的统计信息回调。
该回调描述远端用户在通话中端到端的视频流统计信息,每 2 秒触发一次。
Parameters:
Name Type Description uc
number stats 数组的大小。 stats
object 每个远端用户视频统计信息的数组: Properties
Name Type Description uid
number 用户 ID,指定是哪个用户的视频流。 video_layers_count
number 视频流条数。 video_layers_list
Array.<object> 视频流信息数组: video_layers_list[].layer_type
number 流类型: 1、主流,2、辅流。 video_layers_list[].width
number 视频流宽(像素)。 video_layers_list[].height
number 视频流高(像素)。 video_layers_list[].received_frame_rate
number 接收到的帧率 (fps)。 video_layers_list[].render_frame_rate
number 视频渲染帧率。 video_layers_list[].decoder_frame_rate
number 视频解码帧率(fps)。 video_layers_list[].frozen_rate
number 用户的下行视频平均卡顿率(%)。 video_layers_list[].packet_loss_rate
number 下行丢包率(%)。 video_layers_list[].received_bitrate
number 接收到的码率(Kbps)。 video_layers_list[].total_frozen_time
number 用户的下行视频卡顿累计时长(ms)。 video_layers_list[].codec_name
String 视频编码器名字。 -
onRemoveLiveStreamTask
-
通知删除直播任务结果。
该回调异步返回 NERtcChannel#removeLiveStreamTask 接口的调用结果;实际推流状态参考 onLiveStreamState 事件
Parameters:
Name Type Description task_id
String 任务 ID error
number 结果 -
onRtcStats
-
当前通话统计回调。
SDK 定期向 App 报告当前通话的统计信息,每 2 秒触发一次。
Parameters:
Name Type Description stats
object NERTC 引擎统计数据: Properties
Name Type Description cpu_app_usage
number 当前 App 的 CPU 使用率 (%)。 cpu_idle_usage
number 当前系统的 CPU 空闲率 (%)。 cpu_total_usage
number 当前系统的 CPU 使用率 (%)。 memory_app_usage
number 当前 App 的内存使用率 (%)。 memory_total_usage
number 当前系统的内存使用率 (%)。 memory_app_kbytes
number 当前 App 的内存使用量 (KB)。 total_duration
number 通话时长(秒)。 tx_bytes
number 发送字节数,累计值。(bytes) rx_bytes
number 接收字节数,累计值。(bytes) tx_audio_bytes
number 音频发送字节数,累计值。(bytes) tx_video_bytes
number 视频发送字节数,累计值。(bytes) rx_audio_bytes
number 音频接收字节数,累计值。(bytes) rx_video_bytes
number 视频接收字节数,累计值。(bytes) tx_audio_kbitrate
number 音频发送码率。(kbps) rx_audio_kbitrate
number 音频接收码率。(kbps) tx_video_kbitrate
number 视频发送码率。(kbps) rx_video_kbitrate
number 视频接收码率。(kbps) up_rtt
number 上行平均往返时延 rtt(ms) down_rtt
number 下行平均往返时延 rtt(ms) tx_audio_packet_loss_rate
number 本地上行音频实际丢包率。(%) tx_video_packet_loss_rate
number 本地上行视频实际丢包率。(%) tx_audio_packet_loss_sum
number 本地上行音频实际丢包数。 tx_video_packet_loss_sum
number 本地上行视频实际丢包数。 tx_audio_jitter
number 本地上行音频抖动计算。(ms) tx_video_jitter
number 本地上行视频抖动计算。(ms) rx_audio_packet_loss_rate
number 本地下行音频实际丢包率。(%) rx_video_packet_loss_rate
number 本地下行视频实际丢包率。(%) rx_audio_packet_loss_sum
number 本地下行音频实际丢包数。 rx_video_packet_loss_sum
number 本地下行视频实际丢包数。 rx_audio_jitter
number 本地下行音频抖动计算。(ms) rx_video_jitter
number 本地下行视频抖动计算。(ms) -
onScreenCaptureStatusonScreenCaptureStatus
-
屏幕共享暂停/恢复/开始/结束等回调
Parameters:
Name Type Description status
number 屏幕共享状态。 - 1 开始屏幕共享。 - 2 暂停屏幕共享。 - 3 恢复屏幕共享。 - 4 停止屏幕共享。 - 5 屏幕分享的目标窗口被覆盖。
-
onUpdateLiveStreamTask
-
通知更新直播任务结果。
该回调异步返回 NERtcChannel#updateLiveStreamTask 接口的调用结果;实际推流状态参考 onLiveStreamState 事件
Parameters:
Name Type Description task_id
String 任务 ID url
String 推流地址 error
number 结果 -
onUpdatePermissionKey
-
更新权限密钥事件回调
Parameters:
Name Type Description key
string 新的权限密钥 code
number 错误码 time
number 更新后的权限密钥剩余有效时间。单位为秒。 - Since:
-
- V5.4.0
-
onUserAudioMute
-
远端用户是否静音回调。
Parameters:
Name Type Description uid
number 远端用户 ID。 mute
boolean 是否静音。 -
onUserAudioStart
-
远端用户开启音频回调。
Parameters:
Name Type Description uid
number 远端用户 ID。 -
onUserAudioStop
-
远端用户停用音频回调。
Parameters:
Name Type Description uid
number 远端用户 ID。 -
onUserJoined
-
远端用户加入当前频道回调。
- 通信模式下,该回调提示有远端用户加入了频道,并返回新加入用户的 ID;如果加入之前,已经有其他用户在频道中了,新加入的用户也会收到这些已有用户加入频道的回调。
Parameters:
Name Type Description uid
number 新加入频道的远端用户 ID。 userName
string 新加入频道的远端用户名(无效)。 -
onUserJoinedEx
-
远端用户加入当前频道回调。
Parameters:
Name Type Description uid
number 新加入频道的远端用户 ID。 userName
string 新加入频道的远端用户名(无效)。 extra_info
object 一些可选信息: Properties
Name Type Description custom_info
string 自定义信息,来源于远端用户 joinChannel 时填的 NERtcJoinChannelOptions#custom_info参数,默认为空字符串。 - Since:
-
- V5.4.0
- 通信模式下,该回调提示有远端用户加入了频道,并返回新加入用户的 ID;如果加入之前,已经有其他用户在频道中了,新加入的用户也会收到这些已有用户加入频道的回调。
- V5.4.0
-
onUserLeft
-
远端用户离开当前频道回调。
提示有远端用户离开了频道(或掉线)。
Parameters:
Name Type Description uid
number 远端用户 ID。 reason
number 远端用户离开原因: - 0 正常离开 - 1 用户断线导致离开 - 2 用户 Failover 过程中产生的 leave - 3 用户被踢导致离开 - 4 用户超时导致离开
-
onUserLeftEx
-
远端用户离开当前频道回调。
Parameters:
Name Type Description uid
number 远端用户 ID。 reason
number 远端用户离开原因: - 0 正常离开 - 1 用户断线导致离开 - 2 用户 Failover 过程中产生的 leave - 3 用户被踢导致离开 - 4 用户超时导致离开
extra_info
object 一些可选信息: Properties
Name Type Description custom_info
string 自定义信息,来源于远端用户 joinChannel 时填的 NERtcJoinChannelOptions#custom_info参数,默认为空字符串。 - Since:
-
- V5.4.0
提示有远端用户离开了频道(或掉线)。
- V5.4.0
-
onUserSubStreamAudioMute
-
远端用户是否静音的回调。
Parameters:
Name Type Description uid
number 远端用户的 ID。 - Since:
-
- V5.4.0
-
onUserSubStreamAudioStart
-
远端用户开启音频辅流回调。
Parameters:
Name Type Description uid
number 远端用户的 ID。 - Since:
-
- V5.4.0
-
onUserSubStreamAudioStop
-
远端用户停用音频辅流回调。
Parameters:
Name Type Description uid
number 远端用户的 ID。 - Since:
-
- V5.4.0
-
onUserSubStreamVideoStart
-
远端用户开启辅流视频回调。
Parameters:
Name Type Description uid
number 远端用户 ID。 maxProfile
number 最大分辨率: - 0 160x90/120, 15fps - 1 320x180/240, 15fps - 2 640x360/480, 30fps - 3 1280x720, 30fps - 4 1920x1080, 30fps
-
onUserSubStreamVideoStop
-
远端用户停用辅流视频回调。
Parameters:
Name Type Description uid
number 远端用户 ID。 -
onUserVideoMute
-
远端用户是否禁视频流回调。
Parameters:
Name Type Description uid
number 远端用户ID。 mute
boolean 是否禁视频流。 -
onUserVideoMuteEx
-
远端用户是否禁视频流回调。
Parameters:
Name Type Description streamType
number 视频流类型。 - 0: 主流 - 1: 辅流
uid
number 远端用户 ID。 mute
boolean 是否禁视频流。 -
onUserVideoStart
-
远端用户开启视频回调。
Parameters:
Name Type Description uid
number 远端用户 ID。 maxProfile
number 最大分辨率: - 0 160x90/120, 15fps - 1 320x180/240, 15fps - 2 640x360/480, 30fps - 3 1280x720, 30fps - 4 1920x1080, 30fps - 5 none - 6 FakeVideo 标识,仅在回调中显示。请勿主动设置,否则 SDK 会按照 STANDARD 处理。
-
onUserVideoStop
-
远端用户停用视频回调。
Parameters:
Name Type Description uid
number 远端用户 ID。 -
onWarning
-
发生警告回调。
Parameters:
Name Type Description warnCode
NERtcErrorCode 错误码 msg
string 错误描述