new NERtcEngine()
Methods
-
addBeautyFilter(file_path)
-
添加滤镜效果。
Parameters:
Name Type Description file_path
String 滤镜资源或模型所在的绝对路径。 - Since:
-
- V5.4.0
通过此接口可以实现加载滤镜资源,并添加对应的滤镜效果;若您需要更换滤镜,重复调用此接口使用新的滤镜资源即可。 NOTE: - 请先调用 startBeauty 方法开启美颜功能模块。 - 请在引擎初始化之后调用此接口,且该方法在加入房间前后均可调用。 - 该方法仅适用于 Windows 平台。 - 使用滤镜、贴纸和美妆等自定义美颜效果之前,请联系网易云信商务经理获取美颜资源或模型。 - 滤镜效果可以和全局美颜、贴纸、美妆等效果互相叠加,但是不支持叠加多个滤镜。
- V5.4.0
Returns:
- 0: 方法调用成功 - 其他: 调用失败
- Type
- number
-
addBeautyMakeup(file_path)
-
(此接口为 beta 版本)添加美妆效果。
Parameters:
Name Type Description file_path
String 美妆模型所在的绝对路径。 - Since:
-
- V5.4.0
此接口用于加载美妆模型,添加对应的美妆效果。需要更换美妆效果时,重复调用此接口使用新的美妆模型即可。 NOTE: - 该方法仅适用于 Windows 平台。 - 使用滤镜、贴纸和美妆等自定义美颜效果之前,需要先准备好对应的美颜资源或模型。 - 美妆效果可以和全局美颜、滤镜、贴纸等效果互相叠加,但是不支持叠加多个美妆效果。
- V5.4.0
Returns:
- 0: 方法调用成功 - 其他: 调用失败
- Type
- number
-
addBeautySticker(file_path)
-
(此接口为 beta 版本)添加贴纸效果。
Parameters:
Name Type Description file_path
String 贴纸资源或模型所在的绝对路径。 - Since:
-
- V5.4.0
此接口用于加载贴纸资源,添加对应的贴纸效果。需要更换贴纸时,重复调用此接口使用新的贴纸资源即可。 NOTE: - 该方法仅适用于 Windows 平台。 - 使用滤镜、贴纸和美妆等自定义美颜效果之前,需要先准备好对应的美颜资源或模型。 - 贴纸效果可以和全局美颜、滤镜、美妆等效果互相叠加,但是不支持叠加多个贴纸。
- V5.4.0
Returns:
- 0: 方法调用成功 - 其他: 调用失败
- Type
- number
-
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
-
adjustLoopbackRecordingSignalVolume(volume)
-
调节声卡采集信号音量。
Parameters:
Name Type Description volume
number 声卡采集信号音量。取值范围为 [0,100]。默认值为 100,表示原始音量。 - Since:
-
- 4.1.110
- 调用 nertc::IRtcEngineEx::enableLoopbackRecording "enableLoopbackRecording" 开启声卡采集后,您可以调用该方法调节声卡采集的信号音量。
- 4.1.110
Returns:
- 0: 方法调用成功 - 其他:方法调用失败。
- Type
- number
-
adjustPlaybackSignalVolume(volume)
-
调节播放音量。
Parameters:
Name Type Description volume
number 播放音量可在 0 ~ 400 范围内进行调节: - 0: 静音。 - 100:原始音量。 - 400:最大可为原始音量的 4 倍(自带溢出保护)。
Returns:
- 0:方法调用成功。 - 其他:方法调用失败。
- Type
- number
-
adjustRecordingSignalVolume(volume)
-
调节录音音量。
Parameters:
Name Type Description volume
number 录音信号音量可在 0 ~ 400 范围内进行调节: - 0:静音。 - 100:原始音量。 - 400:最大可为原始音量的 4 倍(自带溢出保护)。
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 截图数据。 -
checkNECastAudioDriver()
-
检测虚拟声卡是否安装(仅适用于 Mac 系统)
- Since:
-
- V5.4.0
该接口会检测电脑是否安装最新版本的虚拟声卡。如果未安装,并且应用中已集成 NERTCPrivilegedTask 库,该接口会弹出安装虚拟声卡对话框,方便用户安装。
- V5.4.0
Returns:
- 0 电脑未安装网易虚拟声卡或虚拟声卡不是最新版本 - 1 电脑已安装最新版本的网易虚拟声卡
-
createChannel(name)
-
创建一个 NERtcChannel 对象
Parameters:
Name Type Description name
string 房间名 字符串格式,长度为 1~ 64 字节。支持以下 89 个字符:a-z, A-Z, 0-9, space, !#$%&()+-:;≤.,>? @[]^_{|}~” - Since:
-
- V5.4.0
设置相同房间名称的用户会进入同一个通话房间。
- V5.4.0
Returns:
NERtcChannel 对象- Type
- object
-
enableAudioVolumeIndication(enable, interval)
-
启用说话者音量提示。该方法允许 SDK 定期向 App 反馈当前谁在说话以及说话者的音量。
启用该方法后,无论频道内是否有人说话,可以通过NERtcEngine#on方法监听 onRemoteAudioVolumeIndication,根据设置的间隔时间返回音量提示事件。
Parameters:
Name Type Description enable
boolean 是否启用说话者音量提示。 interval
number 指定音量提示的时间间隔,单位为毫秒。必须设置为 100 毫秒的整数倍值。 Returns:
- 0:方法调用成功。 - 其他:方法调用失败。
- Type
- number
-
enableAudioVolumeIndicationEx(enable, interval, intervaenableVadl)
-
启用说话者音量提示。该方法允许 SDK 定期向 App 反馈当前谁在说话以及说话者的音量。
Parameters:
Name Type Description enable
boolean 是否启用说话者音量提示。 - true 启用说话者音量提示 - false 关闭说话者音量提示
interval
number 指定音量提示的时间间隔,单位为毫秒。必须设置为 100 毫秒的整数倍值。 intervaenableVadl
boolean 是否启用本地采集人声监测: - true 启用本地采集人声监测 - false 关闭本地采集人声监测
- Since:
-
- V4.5.0
启用该方法后,无论频道内是否有人说话,可以通过NERtcEngine#on方法监听 onRemoteAudioVolumeIndication,根据设置的间隔时间返回音量提示事件。
- V4.5.0
Returns:
- d:方法调用成功。 - 其他:方法调用失败。
- Type
- number
-
enableBeauty(enabled)
-
暂停或恢复美颜效果。
Parameters:
Name Type Description enabled
Boolean 是否恢复美颜效果。 - true 恢复美颜效果。 - false 取消美颜效果。
- Since:
-
- V5.4.0
通过此接口实现取消美颜效果后,包括全局美颜、滤镜在内的所有美颜效果都会暂时关闭,直至重新恢复美颜效果。 NOTE: - 该方法仅适用于 Windows 平台。
- V5.4.0
Returns:
- 0: 方法调用成功 - 其他: 调用失败
- Type
- number
-
enableDualStreamMode(enable)
-
设置视频双流发送。
调用该方法控制是否支持发送双流,只对摄像头数据生效,自定义输入、取屏等无效。设置后,会在摄像头重启后生效。
Parameters:
Name Type Description enable
boolean - true: 双流发送(默认) - false: 只发送一个流
Returns:
- 0:方法调用成功。 - 其他:方法调用失败。
- Type
- number
-
enableEarback(enabled, volume)
-
开启或关闭耳返。
请在频道内调用该方法。
Parameters:
Name Type Description enabled
boolean 开启或关闭。 volume
number 耳返音量。 Returns:
- 0:方法调用成功。 - 其他:方法调用失败。
- Type
- number
-
enableEncryption(enable, config)
-
开启或关闭媒体流加密。
Parameters:
Name Type Description enable
是否开启媒体流加密。 - true: 开启 - false:(默认)关闭
config
媒体流加密方案。详细信息请参考 nertc::NERtcEncryptionConfig。 Properties
Name Type Description mode
number 媒体流加密模式。 - 0: 128 位 SM4 加密,ECB 模式 - 1: 自定义加密 NOTE: - 自定义加密需要在 cpp 层开发自定义算法,实现 nertc_node_engine_event_handler 文件中 NertcNodePacketObserver 中相关方法 - 自定义加密 key 设置为 null。
key
String 媒体流加密密钥。字符串类型,推荐设置为英文字符串。 - Since:
-
- V4.4.0
在金融行业等安全性要求较高的场景下,您可以在加入房间前通过此方法设置媒体流加密模式。
NOTE: - 请在加入房间前调用该方法,加入房间后无法修改加密模式与密钥。用户离开房间后,SDK 会自动关闭加密。如需重新开启加密,需要在用户再次加入房间前调用此方法。 - 同一房间内,所有开启媒体流加密的用户必须使用相同的加密模式和密钥,否则使用不同密钥的成员加入房间时会报错 kNERtcErrEncryptNotSuitable(30113)。 - 安全起见,建议每次启用媒体流加密时都更换新的密钥。
- V4.4.0
在金融行业等安全性要求较高的场景下,您可以在加入房间前通过此方法设置媒体流加密模式。
Returns:
- 0: 方法调用成功 - 其他: 调用失败
-
enableLocalAudio(enabled)
-
开启或关闭本地语音采集或处理
该方法可以重新开启本地语音功能,重新开始本地音频采集及处理。 该方法不影响接收或播放远端音频流。 NOTE: - 该方法与 NERtcEngine#muteLocalAudioStream 的区别在于: - NERtcEngine#enableLocalAudio: 开启本地语音采集及处理 - NERtcEngine#muteLocalAudioStream: 停止或继续发送本地音频流 该方法设置内部引擎为启用状态,在 NERtcEngine#leaveChannel 后仍然有效。
Parameters:
Name Type Description enabled
Boolean - true: 重新开启本地语音功能,即开启本地语音采集或处理(默认) - false: 关闭本地语音功能,即停止本地语音采集或处理
Returns:
- 0:方法调用成功。 - 其他:方法调用失败。
- Type
- number
-
enableLocalData(enable)
-
开启或关闭本地数据通道。
Parameters:
Name Type Description enable
boolean 是否启用本地数据通道: - Since:
-
- V5.4.0
NOTE: - 该方法加入房间后才可调用。 - 成功启用或禁用本地数据通道后,远端会触发 onUserDataStop 或 onUserDataStart 回调。
- V5.4.0
Returns:
- 0: 方法调用成功 - 其他: 调用失败
- Type
- number
-
enableLocalSubStreamAudio(enabled)
-
开启或关闭音频辅流。
Parameters:
Name Type Description enabled
boolean 是否开启音频辅流: - true:开启音频辅流。 - false:关闭音频辅流。
- Since:
-
- V5.4.0
开启时远端会收到 onUserSubStreamAudioStart,关闭时远端会收到 onUserSubStreamAudioStop。 NOTE: - 该方法设置内部引擎为启用状态,在NERtcEngine#leaveChannel后仍然有效。
- V5.4.0
Returns:
- 0:方法调用成功。 - 其他:方法调用失败。
- Type
- number
-
enableLocalVideo(enabled)
-
开启或关闭本地视频采集和渲染
该方法启用本地视频采集功能。 该方法设置内部引擎为启用状态,在 NERtcEngine#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
该方法启用本地视频采集功能。 该方法设置内部引擎为启用状态,在 NERtcEngine#leaveChannel 后仍然有效。
- V5.4.0
Returns:
- 0:方法调用成功。 - 其他:方法调用失败。
- Type
- number
-
enableLoopbackRecording(enable, deviceName)
-
开启或关闭声卡采集。
Parameters:
Name Type Description enable
boolean 是否开启声卡采集功能。 - true:开启声卡采集。 - false:关闭声卡采集(默认)。
deviceName
String 声卡的设备名。默认设为 NULL,即使用当前声卡采集。 - 如果用户使用虚拟声卡,如 `Soundflower`,可以将虚拟声卡名称 `Soundflower` 作为参数,SDK 会找到对应的虚拟声卡设备,并开始采集。
- Since:
-
- 4.1.110
- 启用声卡采集功能后,声卡播放的声音会被合到本地音频流中,从而可以发送到远端。 NOTE: - 该方法仅适用于 macOS 和 Windows 平台。 - macOS 系统默认声卡不支持采集功能,如需开启此功能需要 App 自己启用一个虚拟声卡,并将该虚拟声卡的名字作为 deviceName 传入 SDK。 - 该方法在加入频道前后都能调用。
- 4.1.110
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
-
enableSuperResolution(enable)
-
启用或停止 AI 超分。
Parameters:
Name Type Description enable
是否启用 AI 超分。默认为关闭状态。 - Since:
-
- V4.4.0
NOTE: - 使用 AI 超分功能之前,请 [提交工单](https://app.yunxin.163.com/global/service/ticket/create) 联系网易云信技术支持工程师开通 AI 超分功能。 - AI 超分仅对以下类型的视频流有效: - 必须为本端接收到第一路 360P 的视频流。 - 必须为摄像头采集到的主流大流视频。AI 超分功能暂不支持复原重建小流和屏幕共享辅流。
- V4.4.0
Returns:
- 0:方法调用成功。 - 其他:方法调用失败。
- Type
- number
-
enableVirtualBackground(enable, backgroundSource)
-
启用/禁用虚拟背景。
Parameters:
Name Type Description enable
是否开启虚拟背景。 - true 开启虚拟背景。 - false 关闭虚拟背景
backgroundSource
object 自定义背景图像: Properties
Name Type Description background_source_type
number 自定义背景图片的类型 - 1 背景图像为纯色(默认) - 2 背景图像只支持 PNG 或 JPG 格式的文件
color
number 自定义背景图像的颜色。格式为 RGB 定义的十六进制整数,不带#号. source
string 自定义背景图片的本地绝对路径。支持 PNG 和 JPG 格式。 - Since:
-
- V5.4.0
启用虚拟背景功能后,您可以使用自定义背景图片替换本地用户的原始背景图片。 替换后,频道内所有用户都可以看到自定义背景图片。 NOTE: - 您可以通过 onVirtualBackgroundSourceEnabled 回调查看虚拟背景是否开启成功或出错原因。 - 建议您使用配备 i5 CPU 及更高性能的设备。 - 建议您在满足以下条件的场景中使用该功能: - 采用高清摄像设备,环境光线均匀。 - 捕获的视频图像整洁,用户肖像半长且基本无遮挡,并且背景是与用户衣服颜色不同的单一颜色。 - 虚拟背景功能不支持 Texture 格式的视频或通过 Push 方法从自定义视频捕获中获取的视频。
- V5.4.0
Returns:
- 0: 方法调用成功 - 其他: 调用失败
-
enumeratePlayoutDevices()
-
获取系统中所有的播放设备列表。
该方法返回 NERtcDevice[],包含系统中所有的播放设备。
Returns:
- Array
:调用成功。 - null:调用失败。 Name Type Description NERtcDevice.device_id String 设备 ID NERtcDevice.device_name String 设备名称。 NERtcDevice.transport_type Number 设备链接类型: - audio: - 0 未知设备 - 1 蓝牙设备 - 2 蓝牙立体声设备 - 3 蓝牙低功耗设备 - 4 USB 设备 - 5 HDMI 设备 - 6 内置设备 - 7 雷电接口设备 - 8 AirPlay 设备 - 9 虚拟设备 - 10 其他设备 - video: - 0 未知设备 - 1 USB 设备 - 2 虚拟设备 - 3 其他设备。 NERtcDevice.suspected_unavailable Boolean 是否是不推荐设备。 NERtcDevice.system_default_device Boolean 是否是系统默认设备。 - Type
- Array.<NERtcDevice>
-
enumerateRecordDevices()
-
获取系统中所有的音频采集设备列表。
该方法返回 NERtcDevice[] 包含系统中所有的音频采集设备。
Returns:
- NERtcDevice[]:方法调用成功。
Name Type Description NERtcDevice.device_id String 设备 ID NERtcDevice.device_name String 设备名称。 NERtcDevice.transport_type Number 设备链接类型: - audio: - 0 未知设备 - 1 蓝牙设备 - 2 蓝牙立体声设备 - 3 蓝牙低功耗设备 - 4 USB 设备 - 5 HDMI 设备 - 6 内置设备 - 7 雷电接口设备 - 8 AirPlay 设备 - 9 虚拟设备 - 10 其他设备 - video: - 0 未知设备 - 1 USB 设备 - 2 虚拟设备 - 3 其他设备。 NERtcDevice.suspected_unavailable Boolean 是否是不推荐设备。 NERtcDevice.system_default_device Boolean 是否是系统默认设备。 - Type
- Array.<NERtcDevice> | null
-
enumerateScreenCaptureSourceInfo(thumbWidth, thumbHeight, iconWidth, iconHeight)
-
枚举屏幕分享源信息。
Parameters:
Name Type Description thumbWidth
number 缩略图宽度 px。 thumbHeight
number 缩略图高度 px。 iconWidth
number 图标宽度 px。 iconHeight
number 图标高度 px。 - Since:
-
- 4.1.110
Returns:
- Object[]:调用成功。
Name Type Description Object.sourceId number 信息源 ID Object.displayId String 如果是屏幕设备则为屏幕 ID Object.sourceName String 信息源名称。 Object.type int 信息源类型:1-屏幕 2-窗口。 Object.isMinimizeWindow boolean 窗口是否最小化状态。 Object.thumbBGRA object 缩略图信息,使用前需要判断是否 undefined: - buffer - BGRA 二进制数据 - length - 数据大小 byte - width - 图片宽度 px - height - 图片高度 px Object.iconBGRA object 图标信息,使用前需要判断是否 undefined: - buffer - BGRA 二进制数据 - length - 数据大小 byte - width - 图片宽度 px - height - 图片高度 px - Type
- Array.<Object>
-
enumerateVideoCaptureDevices()
-
获取系统中所有的视频采集设备列表。
该方法返回 NERtcDevice[] 包含系统中所有的音频采集设备。
Returns:
- NERtcDevice[]:调用成功。
Name Type Description NERtcDevice.device_id String 设备 ID NERtcDevice.device_name String 设备名称。 NERtcDevice.transport_type Number 设备链接类型: - audio: - 0 未知设备 - 1 蓝牙设备 - 2 蓝牙立体声设备 - 3 蓝牙低功耗设备 - 4 USB 设备 - 5 HDMI 设备 - 6 内置设备 - 7 雷电接口设备 - 8 AirPlay 设备 - 9 虚拟设备 - 10 其他设备 - video: - 0 未知设备 - 1 USB 设备 - 2 虚拟设备 - 3 其他设备。 NERtcDevice.suspected_unavailable Boolean 是否是不推荐设备。 NERtcDevice.system_default_device Boolean 是否是系统默认设备。 - Type
- Array.<NERtcDevice>
-
getAudioMixingCurrentPosition()
-
获取音乐文件的播放进度。
该方法获取当前伴奏播放进度,单位为毫秒。请在频道内调用该方法。
Returns:
- >= 0:伴奏播放进度,单位为毫秒。 - 其他:方法调用失败。
- Type
- number
-
getAudioMixingDuration()
-
获取伴奏时长。
该方法获取伴奏时长,单位为毫秒。请在频道内调用该方法。
Returns:
- >=0:伴奏时长,单位为毫秒。 - 其他:方法调用失败。
- Type
- number
-
getAudioMixingPitch()
-
获取当前伴音文件的音调。
- Since:
-
- v5.4.0
请先调用 startAudioMixing 方法开启伴音。
- v5.4.0
Returns:
当前伴音文件音调- Type
- number
-
getAudioMixingPlaybackVolume()
-
获取伴奏播放音量。
该方法获取混音里伴奏的播放音量大小。请在频道内调用该方法。
Returns:
- >= 0:伴奏播放音量。 - 其他:方法调用失败。
- Type
- number
-
getAudioMixingSendVolume()
-
获取伴奏发送音量。
该方法获取混音里伴奏的发送音量大小。请在频道内调用该方法。
Returns:
- >=0:伴奏发送音量。 - 其他:方法调用失败。
- Type
- number
-
getBeautyEffect(type)
-
获取指定美颜类型的强度设置。
Parameters:
Name Type Description type
number 美颜类型 - Since:
-
- V5.4.0
通过接口 `setBeautyEffect` 设置美颜效果及强度后,可以通过此接口查看指定美颜效果的强度设置。 NOTE: - 该方法仅适用于 Windows 平台。
- V5.4.0
Returns:
指定美颜类型的强度- Type
- number
-
getConnectionState()
-
获取当前网络状态。
Returns:
- 1 没加入频道。 - 2 正在加入频道。 - 3 加入频道成功。 - 4 正在尝试重新加入频道。 - 5 加入频道失败。
- Type
- number
-
getEffectCurrentPosition()
-
获取指定音效文件的播放进度。
- Since:
-
- v5.4.0
请先调用 playEffect 方法开启伴音。
- v5.4.0
Returns:
当前音效文件音调- Type
- number
-
getEffectDuration()
-
获取指定音效文件的时长。
- Since:
-
- v5.4.0
Returns:
当前音效文件的时长.- Type
- number
-
getEffectPitch()
-
获取指定音效文件的音调。
- Since:
-
- v5.4.0
请先调用 playEffect 方法开启伴音。
- v5.4.0
Returns:
当前音效文件音调- Type
- number
-
getEffectPlaybackVolume(effectId)
-
获取音效播放音量。
该方法获取音效的播放音量大小。请在频道内调用该方法。
Parameters:
Name Type Description effectId
number 指定音效的 ID。每个音效均有唯一的 ID。 Returns:
- >= 0:音效播放音量。 - 其他:方法调用失败。- Type
- number
-
getEffectSendVolume(effectId)
-
获取音效发送音量。
该方法获取音效的发送音量大小。请在频道内调用该方法。
Parameters:
Name Type Description effectId
number 指定音效的 ID。每个音效均有唯一的 ID。 Returns:
- >=0:音效发送音量。 - 其他:方法调用失败。- Type
- number
-
getErrorDescription(errorCode)
-
获取错误描述。
Parameters:
Name Type Description errorCode
number 错误码 Returns:
详细错误码描述- Type
- number
-
getNtpTimeOffset()
-
获取本地系统时间与服务端时间差值。
- Since:
-
- V5.4.0
可以用于做时间对齐,通过 (毫秒级系统时间 - offset) 可能得到当前服务端时间。
- V5.4.0
Returns:
- 本地与服务端时间差值,单位为毫秒(ms)。如果没有成功加入音视频房间,返回 0。
- Type
- number
-
getParameters(parameters, extra_info)
-
以 String 的形式获取一些内部参数。
Parameters:
Name Type Description parameters
String 音视频通话的参数集合. extra_info
String 额外的信息。 - Since:
-
- V5.3.0
NOTE: - 此接口为隐藏接口,需要特定参数及特定时机,详情请 [提交工单](https://app.yunxin.163.com/global/service/ticket/create) 联系网易云信技术支持工程师。 - 请在初始化后调用该方法,且该方法在加入房间前后均可调用。
- V5.3.0
Returns:
内部参数信息。- Type
- String
-
getPlayoutDevice()
-
获取当前使用的音频播放设备 ID。
Returns:
deviceID- Type
- String
-
getPlayoutDeviceMute()
-
获取音频播放设备静音状态。
Returns:
- true:静音状态。 - false:非静音状态。
- Type
- boolean
-
getPlayoutDeviceVolume()
-
获取音频播放设备音量。
Returns:
- >=0:音频播放设备音量。取值范围为 0~255。 - 其他:方法调用失败。
- Type
- number
-
getRecordDevice()
-
获取当前使用的音频采集设备 ID。
Returns:
- 设备 ID: 调用成功 - null:调用失败。
- Type
- String
-
getRecordDeviceMute()
-
获取音频采集设备静音状态。
Returns:
- true:静音状态。 - false:非静音状态。
- Type
- boolean
-
getRecordDeviceVolume()
-
获取音频采集设备音量。
Returns:
- >=0:音频采集设备音量。取值范围为 0~255。 - 其他:方法调用失败。
- Type
- number
-
getVersion()
-
查询 SDK 版本号。
Returns:
当前的 SDK 版本号,格式为字符串,如 1.0.0.- Type
- String
-
getVideoDevice()
-
获取当前使用的视频采集设备信息。
Returns:
设备 ID- Type
- String
-
getVideoDeviceWithType(streamType)
-
获取当前使用的视频采集设备信息。
Parameters:
Name Type Description streamType
number 视频流类型。 - 0:视频流主流。 - 1:视频流辅流。
Returns:
设备 ID- Type
- String
-
initSpatializer()
-
初始化引擎 3D 音效算法。
- Since:
-
- V5.5.10
- 此接口在加入房间前调用后均可调用。 NOTE: - 该接口不支持 Linux 平台。
- V5.5.10
Returns:
- 0: 方法调用成功 - 其他: 调用失败
- Type
- number
-
initialize(context)
-
初始化 NERTC SDK 服务。
该方法用来进行初始化 NERTC 服务。传入云信为开发者签发的厂商秘钥进行初始化。在使用其他方法前,必须先调用该方法进行初始化。 初始化成功后,默认处于音视频通话模式。 NOTE: - 必须使用同一个 App Key 才能进行通话。 - 一个 NERtcEngine 实例对象只能使用一个 App Key。如需更换 App Key,必须先调用 NERtcEngine#release 方法释放当前实例资源再调用本方法初始化实例。
Parameters:
Name Type Description context
Object 传入的 RTC engine context 对象:NERtcEngineContext。 Properties
Name Type Argument Default Description app_key
String 用户注册云信的 APP Key。如果您的开发包里面缺少 APP Key,请申请注册一个新的 APP Key。 log_dir_path
String 日志目录的完整路径,采用 UTF-8 编码。 log_level
number <optional>
3 日志级别,默认级别为 kNERtcLogLevelInfo。 - 0 Fatal 级别日志信息。 - 1 Error 级别日志信息。 - 2 Warning 级别日志信息。 - 3 Info 级别日志信息。默认级别。 - 4 DetailInfo 级别日志信息。 - 5 Verbos 级别日志信息。 - 6 Debug 级别日志信息。如果您想获取最完整的日志,可以将日志级别设为该等级。 - 7 不输出日志信息。
log_file_max_size_KBytes
number <optional>
20480 指定 SDK 输出日志文件的大小上限,单位为 KB。如果设置为 0,则默认为 20 M。 server_config
Object 私有化服务器地址,默认需要置空, 如需启用私有化功能,请 [提交工单](https://app.yunxin.163.com/global/service/ticket/create) 联系网易云信技术支持工程师获取详情。 Properties
Name Type Description channel_server
String 获取通道信息服务器。 statistics_server
String 统计上报服务器。 room_server
String roomServer 服务器。 compat_server
String 兼容性配置服务器 nos_lbs_server
String nos 域名解析服务器 nos_upload_sever
String 默认 nos 上传服务器 nos_token_server
String 获取 NOS token 服务器 use_ipv6
Boolean 是否使用 IPv6(默认 false) Returns:
- 0:方法调用成功。 - 其他:方法调用失败。
- Type
- number
-
isFeatureSupported(type)
-
获取当前设备是否支持虚拟背景功能。
Parameters:
Name Type Description type
功能类型: 0:-虚拟背景 - Since:
-
- V5.4.0
此接口在初始化引擎之后调用
- V5.4.0
Returns:
- true 支持虚拟背景。 - false 不支持虚拟背景
-
joinChannel(token, channelName, uid)
-
加入频道。如果频道还未创建,会自动尝试创建频道。
该方法让用户加入通话频道,在同一个频道内的用户可以互相通话,多个用户加入同一个频道,可以群聊。使用不同 App Key 的 App 是不能互通的。如果已在通话中,用户必须调用 NERtcEngine#leaveChannel 退出当前通话,才能进入下一个频道。 频道内每个用户的用户 ID 必须是唯一的。
Parameters:
Name Type Description token
String 动态秘钥。安全要求不高: 将值设为 空字符串。安全要求高:将值设置为 Token。如果您已经启用了 App Certificate, 请务必使用 Token。 channelName
String 标识通话的频道名称,长度在 64 字节以内的字符串。以下为支持的字符集范围(共 89 个字符): a-z, A-Z, 0-9, space, !#$%&()+-:;≤.,>? @[]^_{|}~” uid
number 用户 ID。 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 是不能互通的。如果已在通话中,用户必须调用 NERtcEngine#leaveChannel 退出当前通话,才能进入下一个频道。 频道内每个用户的用户 ID 必须是唯一的。
- V5.4.0
Returns:
- 0:方法调用成功。 - 其他:方法调用失败。
- Type
- number
-
leaveChannel()
-
离开频道。
离开频道,即挂断或退出通话。 当调用 NERtcEngine#joinChannel 方法后,必须调用 NERtcEngine#leaveChannel 结束通话,否则无法开始下一次通话。不管当前是否在通话中,都可以调用 leaveChannel,没有副作用。该方法会把会话相关的所有资源释放掉。 该方法是异步操作,调用返回时并没有真正退出频道。在真正退出频道后,SDK 会触发 onLeaveChannel 事件。 如果您调用了 NERtcEngine#leaveChannel 后立即调用 NERtcEngine#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 不再发送本地视频流,但摄像头仍然处于工作状态。相比于 NERtcEngine#enableLocalVideo (false) 用于控制本地视频流发送的方法,该方法响应速度更快。该方法不影响本地视频流获取,没有禁用摄像头。
Parameters:
Name Type Description mute
boolean - true: 不发送本地视频流 - false: 发送本地视频流(默认)
Returns:
- 0:方法调用成功。 - 其他:方法调用失败。
- Type
- number
-
muteLocalVideoStreamWithType(streamType, mute)
-
开关本地视频发送。
调用该方法禁视频流时,SDK 不再发送本地视频流,但摄像头仍然处于工作状态。相比于 NERtcEngine#enableLocalVideo (false) 用于控制本地视频流发送的方法,该方法响应速度更快。该方法不影响本地视频流获取,没有禁用摄像头。
Parameters:
Name Type Description streamType
number 视频通道类型。 - 0:视频主流。 - 1:视频辅流。
mute
boolean - true: 不发送本地视频流 - false: 发送本地视频流(默认)
Returns:
- 0:方法调用成功。 - 其他:方法调用失败。
- Type
- number
-
pauseAllEffects()
-
暂停所有音效文件播放。
请在频道内调用该方法。
Returns:
- 0:方法调用成功。 - 其他:方法调用失败。
- Type
- number
-
pauseAudioMixing()
-
暂停播放伴奏。
该方法暂停播放伴奏。请在频道内调用该方法。
Returns:
- 0:方法调用成功。 - 其他:方法调用失败。
- Type
- number
-
pauseEffect(effectId)
-
暂停音效文件播放。
请在频道内调用该方法。
Parameters:
Name Type Description effectId
number 指定音效的 ID。每个音效均有唯一的 ID。 Returns:
- 0:方法调用成功。 - 其他:方法调用失败。
- Type
- number
-
pauseScreenCapture()
-
暂停屏幕共享。
Returns:
- 0:方法调用成功。 - 其他:方法调用失败。
- Type
- number
-
playEffect(effectId, opt)
-
播放指定音效文件。
您可以多次调用该方法,通过传入不同的音效文件的 effect_id 和 option,同时播放多个音效文件,实现音效叠加。为获得最佳用户体验,网易云信建议同时播放的音效文件不要超过 3 个。成功调用该方法后,可以通过NERtcEngine#on方法监听 onAudioEffectFinished 播放结束事件。 请在频道内调用该方法,如果在频道外调用该方法可能会出现问题。
Parameters:
Name Type Argument Default Description effectId
number 指定音效的 ID。每个音效均有唯一的 ID。 opt
Array.<object> 创建音效任务配置的选项,包括混音任务类型、混音文件全路径或 URL 等。支持的音频格式包括:AAC、MP3 和 WAVE。 opt[].path
String 本地文件全路径或 URL <256 chars opt[].loop_count
number <optional>
1 循环次数,<= 0, 表示无限循环,默认 1 opt[].send_enabled
boolean <optional>
true 是否可发送,默认为 true opt[].send_volume
number <optional>
发送音量。最大为 100(默认)含义(0%-100%) opt[].playback_enabled
boolean <optional>
true 是否可回放,默认为 true opt[].playback_volume
number <optional>
回放音量。最大为 100(默认) opt[].start_timestamp
number <optional>
音乐文件开始播放的时间,UTC 时间戳,即从 1970 年 1 月 1 日 0 点 0 分 0 秒开始到事件发生时的毫秒数。默认值为 0,表示立即播放。 opt[].NERtcAudioStreamType
number <optional>
伴音跟随音频主流还是辅流,默认跟随主流。 opt[].progress_interval
number <optional>
伴音播放进度回调间隔,单位 ms,取值范围为 100~10000, 默认 1000ms。 Returns:
- 0:方法调用成功。 - 其他:方法调用失败。
- Type
- number
-
release()
-
释放资源。
-
removeBeautyFilter()
-
取消滤镜效果。
- Since:
-
- V5.4.0
NOTE: - 该方法仅适用于 Windows 平台。
- V5.4.0
Returns:
- 0: 方法调用成功 - 其他: 调用失败
- Type
- number
-
removeBeautyMakeup()
-
(此接口为 beta 版本)取消美妆效果。
- Since:
-
- V5.4.0
NOTE: - 该方法仅适用于 Windows 平台。
- V5.4.0
Returns:
- 0: 方法调用成功 - 其他: 调用失败
- Type
- number
-
removeBeautySticker()
-
此接口为 beta 版本)取消贴纸效果。
- Since:
-
- V5.4.0
NOTE: - 该方法仅适用于 Windows 平台。
- V5.4.0
Returns:
- 0: 方法调用成功 - 其他: 调用失败
- Type
- number
-
removeLiveStreamTask(taskId)
-
删除房间推流任务。通话中有效。
Parameters:
Name Type Description taskId
String 直播任务 ID Fires:
Returns:
- 0:方法调用成功。 - 其他:方法调用失败。
- Type
- number
-
resumeAllEffects()
-
恢复播放所有音效文件。
请在频道内调用该方法。
Returns:
- 0:方法调用成功。 - 其他:方法调用失败。
- Type
- number
-
resumeAudioMixing()
-
恢复播放伴奏。
该方法恢复混音,继续播放伴奏。请在频道内调用该方法。
Returns:
- 0:方法调用成功。 - 其他:方法调用失败。
- Type
- number
-
resumeEffect(effectId)
-
恢复播放指定音效文件。
请在频道内调用该方法。
Parameters:
Name Type Description effectId
number 指定音效的 ID。每个音效均有唯一的 ID。 Returns:
- 0:方法调用成功。 - 其他:方法调用失败。
- Type
- number
-
resumeScreenCapture()
-
恢复屏幕共享。
Returns:
- 0:方法调用成功。 - 其他:方法调用失败。
- Type
- number
-
sendData(data)
-
通过数据通道发送数据。
Parameters:
Name Type Description data
ArrayBuffer 自定义数据。 - Since:
-
- v5.4.0
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
-
setAudioEffectPreset(type)
-
设置 SDK 预设的人声的变声音效。
Parameters:
Name Type Description type
number 预设的变声音效。默认关闭变声音效: - 0: 默认关闭 - 1: 机器人 - 2: 巨人 - 3: 恐怖 - 4: 成熟 - 5: 男变女 - 6: 女变男 - 7: 男变萝莉 - 8: 女变萝莉
- Since:
-
- 4.1.110
Returns:
- 0: 方法调用成功 - 其他:方法调用失败。
- Type
- number
-
setAudioMixingPitch(pitch)
-
设置当前伴音文件的音调。
Parameters:
Name Type Description pitch
number 当前伴音文件的音调。默认值为 0,即不调整音调,取值范围为 -12 ~ 12 - Since:
-
- v5.4.0
通过此接口可以实现当本地人声和播放的音乐文件混音时,仅调节音乐文件的音调。 NOTE: - 当前伴音任务结束后,此接口的设置会恢复至默认。
- v5.4.0
Returns:
- 0:方法调用成功。 - 其他:方法调用失败。
- Type
- number
-
setAudioMixingPlaybackVolume(volume)
-
调节伴奏播放音量。
该方法调节混音里伴奏的播放音量大小。请在频道内调用该方法。
Parameters:
Name Type Description volume
number 伴奏音量范围为 0~200。默认 100 为原始文件音量。 Returns:
- 0:方法调用成功。 - 其他:方法调用失败。
- Type
- number
-
setAudioMixingPosition(pos)
-
设置音乐文件的播放位置。
该方法可以设置音频文件的播放位置,这样您可以根据实际情况播放文件,而非从头到尾播放整个文件。
Parameters:
Name Type Description pos
number 进度条位置,单位为毫秒。 Returns:
- 0:方法调用成功。 - 其他:方法调用失败。
- Type
- number
-
setAudioMixingSendVolume(volume)
-
调节伴奏发送音量。
该方法调节混音里伴奏的发送音量大小。请在频道内调用该方法。
Parameters:
Name Type Description volume
number 伴奏音量范围为 0~200。默认 100 为原始文件音量。 Returns:
- 0:方法调用成功。 - 其他:方法调用失败。
- Type
- number
-
setAudioProfile(profile, scenario)
-
设置音频编码属性。
NOTE: - 该方法需要在 NERtcEngine#joinChannel 之前设置好,NERtcEngine#joinChannel 之后设置不生效。 - 音乐场景下,建议将 profile 设置为 4.
Parameters:
Name Type Description profile
number 设置采样率,码率,编码模式和声道数: - 0 默认设置。Speech 场景下为 1,Music 场景下为 2 - 1 普通质量的音频编码,16000Hz,20Kbps - 2 普通质量的音频编码,16000Hz,32Kbps - 3 中等质量的音频编码,48000Hz,32Kbps - 4 中等质量的立体声编码,48000Hz * 2,64Kbps - 5 高质量的音频编码,48000Hz,64Kbps - 6 高质量的立体声编码,48000Hz * 2,128Kbps
scenario
number 设置音频应用场景: - 0: 默认设置:通过NERtcEngine#setChannelProfile设置通话模式时为语音场景(1),直播推流模式时为音乐场景(2)。 - 1: 语音场景. profile 推荐使用 2 及以下 - 2:音乐场景。profile 推荐使用 3 及以上
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
-
setBeautyEffect(type, level)
-
设置美颜效果
Parameters:
Name Type Description type
number 美颜类型: - 0 美牙 - 1 亮眼 - 2 美白 - 3 磨皮 - 4 小鼻 - 5 眼距调整 - 6 眼角调整 - 7 嘴型调整 - 8 大眼 - 9 小脸 - 10 下巴调整 - 11 瘦脸 - 12 红润 - 13 长鼻 - 14 人中 - 15 嘴角 - 16 圆眼 - 17 开眼角
level
number 对应美颜类型的强度[1, 100] - Since:
-
- V5.4.0
通过此接口可以实现设置磨皮、美白、大眼等多种全局美颜类型和对应的美颜强度。 NOTE: - 请在引擎初始化之后调用此接口,且该方法在加入房间前后均可调用。 - 您可以多次调用此接口以叠加多种全局美颜效果,也可以在此基础上通过其他方法叠加滤镜等自定义效果。 - 该方法仅适用于 Windows 平台。
- V5.4.0
Returns:
- 0: 方法调用成功 - 其他: 调用失败
- Type
- number
-
setBeautyFilterLevel(level)
-
设置滤镜强度。
Parameters:
Name Type Description level
number 滤镜强度。取值范围为 [0 - 100],默认值为 50。 - Since:
-
- V5.4.0
取值越大,滤镜强度越大,开发者可以根据业务需求自定义设置滤镜强度。 NOTE: - 该方法仅适用于 Windows 平台。 - 滤镜强度设置实时生效,更换滤镜后需要重新设置滤镜强度,否则强度取默认值。
- 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
-
setChannelProfile(profile)
-
设置通话模式
必须在加入通话前设置,开始通话后设置无效,结束通话后保留之前的设置。
Parameters:
Name Type Description profile
number 场景模式 - 通话场景(0) - 直播推流场景(1)
Returns:
- 0:方法调用成功。 - 其他:方法调用失败。
- Type
- number
-
setClientRole(role)
-
设置参会者角色
NERtcEngine#setClientRole 接口用于在直播场景中设置用户角色。默认情况下用户以主播角色加入房间。 在加入房间前,用户需要调用 setClientRole 接口设置本端模式为观众或主播模式。在加入房间后,用户可以通过本接口切换用户模式。 用户角色支持设置为主播或观众,主播和观众的权限不同。默认情况下用户以主播角色加入房间。 可以在通话前后设置,通话前设置会在加入频道之后生效。如果设置观众模式。则会停止音视频设备。
Parameters:
Name Type Description role
number 参会者模式 - 主播(0):可以开关摄像头等设备、可以发布流、可以操作互动直播推流相关接口、上下线对其他房间内用户可见 - 观众(1):不可以开关摄像头等设备、不可以发布流、不可以操作互动直播推流相关接口、上下线对其他房间内用户不可见
Fires:
Returns:
- 0:方法调用成功。 - 其他:方法调用失败。
- Type
- number
-
setCloudProxy(proxyType)
-
开启并设置云代理服务。
Parameters:
Name Type Description proxyType
number 云代理类型。 - Since:
-
- V5.4.0
在内网环境下,如果用户防火墙开启了网络限制,请参考《使用云代理》将指定 IP 地址和端口号加入防火墙白名单,然后调用此方法开启云代理,并将 proxyType 参数设置为 NERtcTransportTypeUDPProxy(1),即指定使用 UDP 协议的云代理。 NOTE: - 请在加入房间前调用此方法。
- V5.4.0
Returns:
- 0: 方法调用成功 - 其他: 调用失败
- Type
- number
-
setEarbackVolume(volume)
-
设置耳返音量。
请在频道内调用该方法。
Parameters:
Name Type Description volume
number 耳返音量。 Returns:
- 0:方法调用成功。 - 其他:方法调用失败。
- Type
- number
-
setEffectPitch(指定音效文件的, pitch)
-
设置指定音效文件的音调。
Parameters:
Name Type Description 指定音效文件的
number ID。每个音效文件均对应唯一的 ID。 pitch
number 当前音效文件的音调。默认值为 0,即不调整音调,取值范围为 -12 ~ 12。 - Since:
-
- v5.4.0
通过此接口可以实现当本地人声和播放的音乐文件混音时,仅调节音乐文件的音调。 NOTE: - 当前音效任务结束后,此接口的设置会恢复至默认。
- v5.4.0
Returns:
- 0:方法调用成功。 - 其他:方法调用失败。
- Type
- number
-
setEffectPlaybackVolume(effectId, volume)
-
调节音效播放音量。
该方法调节音效的播放音量大小。请在频道内调用该方法。
Parameters:
Name Type Description effectId
number 指定音效的 ID。每个音效均有唯一的 ID。 volume
number 音效音量范围为 0~100。默认 100 为原始文件音量。 Returns:
- 0:方法调用成功。 - 其他:方法调用失败。
- Type
- number
-
setEffectPosition(effectId, timestamp_ms)
-
设置指定音效文件的播放位置。
Parameters:
Name Type Description effectId
number 指定音效文件的 ID。每个音效文件均对应唯一的 ID。 timestamp_ms
number 指定音效文件的起始播放位置。单位为毫秒。 - Since:
-
- v5.4.0
通过此接口可以实现根据实际情况播放音效文件,而非从头到尾播放整个文件。 NOTE: - 请在引擎初始化之后调用此接口,且该方法仅可在加入房间后调用。
- v5.4.0
Returns:
- 0:方法调用成功。 - 其他:方法调用失败。
- Type
- number
-
setEffectSendVolume(effectId, volume)
-
调节音效发送音量。
该方法调节音效的发送音量大小。请在频道内调用该方法。
Parameters:
Name Type Description effectId
number 指定音效的 ID。每个音效均有唯一的 ID。 volume
number 音效音量范围为 0~100。默认 100 为原始文件音量。 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 默认关闭镜像模式。 - 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
-
setLocalVideoWatermarkConfigs(enbale, type, config)
-
设置视频水印,水印在本地预览及发送过程中均生效
Parameters:
Name Type Description enbale
boolean 渲染模式。 - true: 添加水印 - false: 删除水印
type
number 视频流类型 - 0: 主流 - 1: 辅流
config
Object Properties
Name Type Description watermark_type
number 视频水印类型。 image_watermarks
Object 图片水印。 - Since:
-
- V5.5.20
- 请在引擎初始化后调用此接口,且该方法在加入房间前才可调用。 NOTE: - 该接口不支持 Linux 平台。 - 设置水印后,建议关注水印状态回调 \ref nertc::IRtcEngineEventHandlerEx::onLocalVideoWatermarkState "onLocalVideoWatermarkState"。
- V5.5.20
Returns:
- 0: 方法调用成功 - 其他: 调用失败
- Type
- number
-
setLocalVoiceEqualization(bandFrequency, bandGain)
-
设置本地语音音效均衡,即自定义设置本地人声均衡波段的中心频率。
Parameters:
Name Type Description bandFrequency
number 频谱子带索引,取值范围是 [0-9],分别代表 10 个频带,对应的中心频率是 [31,62,125,250,500,1k,2k,4k,8k,16k] Hz: - 0: 31Hz - 1: 62Hz - 2: 125Hz - 3: 250Hz - 4: 500Hz - 5: 1kHz - 6: 2kHz - 7: 4kHz - 8: 8kHz - 9: 16kHz
bandGain
number 每个 band 的增益,单位是 dB,每一个值的范围是 [-15,15],默认值为 0。 - Since:
-
- 4.1.110
NOTE: - 该方法在加入房间前后都能调用,通话结束后重置为默认关闭状态。
- 4.1.110
Returns:
- 0: 方法调用成功 - 其他:方法调用失败。
- Type
- number
-
setLocalVoicePitch(pitch)
-
设置本地语音音调。该方法改变本地说话人声音的音调。
Parameters:
Name Type Description pitch
number 语音频率。可以在 [0.5, 2.0] 范围内设置。取值越小,则音调越低。默认值为 1.0,表示不需要修改音调。 - Since:
-
- 4.1.110
NOTE: - 通话结束后该设置会重置,默认为 1.0。 - 此方法与 setAudioEffectPreset 互斥,调用此方法后,已设置的变声效果会被取消。
- 4.1.110
Returns:
- 0: 方法调用成功 - 其他:方法调用失败。
- Type
- number
-
setLocalVoiceReverbParam(param)
-
设置本地语音混响效果。
Parameters:
Name Type Description param
object 混响参数 Properties
Name Type Description wetGain
number 湿信号,取值范围为 0 ~ 1,默认值为 0.0f。 dryGain
number 干信号,取值范围为 0 ~ 1,默认值为 1.0f。 damping
number 混响阻尼,取值范围为 0 ~ 1,默认值为 1.0f。 roomSize
number 房间大小,取值范围为 0.1 ~ 2,默认值为 0.1f。 decayTime
number 持续强度(余响),取值范围为 0.1 ~ 20,默认值为 0.1f。 preDelay
number 延迟长度,取值范围为 0 ~ 1,默认值为 0.0f。 - Since:
-
- V5.4.0
该方法在加入房间前后都能调用,通话结束后重置为默认的关闭状态。
- V5.4.0
Returns:
- 0: 方法调用成功 - 其他: 调用失败
- Type
- number
-
setParameters(parameters)
-
通过 JSON 配置 SDK 提供技术预览或特别定制功能。以标准化方式公开 JSON 选项。
Parameters:
Name Type Description parameters
object JSON 字符串形式的参数 Properties
Name Type Argument Default Description record_host_enabled
boolean - true 录制主讲人 - false 不是录制主讲人
record_audio_enabled
boolean <optional>
false 启用服务器音频录制。默认值 false record_video_enabled
boolean <optional>
false 启用服务器视频录制。默认值 false record_type
number 录制类型: - 0 参与混合录制且录制单人文件 - 1 参与混合录制 - 2 只录单人文件
auto_subscribe_audio
boolean <optional>
true 其他用户打开音频时,自动订阅。默认值 true publish_self_stream_enabled
boolean <optional>
false 开启旁路直播。默认值 false log_level
number <optional>
3 日志级别,默认级别为 kNERtcLogLevelInfo。 - 0 Fatal 级别日志信息 - 1 Error 级别日志信息 - 2 Warning 级别日志信息 - 3 Info 级别日志信息。默认级别 - 4 DetailInfo 级别日志信息 - 5 Verbos 级别日志信息 - 6 Debug 级别日志信息。如果您想获取最完整的日志,可以将日志级别设为该等级 - 7 不输出日志信息
audio_processing_aec_enable
boolean <optional>
true AEC 开关,默认值 true audio_processing_agc_enable
boolean <optional>
true AGC 开关,默认值 true audio_processing_ns_enable
boolean <optional>
true NS 开关,默认值 true audio_processing_ai_ns_enable
boolean <optional>
false AI NS 开关,建议通话前修改,默认值 false audio_processing_external_audiomix_enable
boolean <optional>
false 输入混音开关,默认值 false audio_processing_earphone
boolean <optional>
false 通知 SDK 是否使用耳机: - true: 使用耳机 - false: 不使用耳机
video_sendonpub_type
number <optional>
1 设置视频发送策略,默认发送大流(1);通话前设置有效 - 0 不主动发送数据流,被订阅后发送。 - 1 主动发送大流。 - 2 主动发送小流。 - 3 主动发送大小流。
Returns:
- 0:方法调用成功。 - 其他:方法调用失败。
- Type
- number
-
setPlayoutDevice(id)
-
指定播放设备。
Parameters:
Name Type Description id
String 音频播放设备的设备 ID。可以通过 NERtcEngine#enumeratePlayoutDevices 获取。插拔设备不会影响 deviceId。 Returns:
- 0:方法调用成功。 - 其他:方法调用失败。
- Type
- number
-
setPlayoutDeviceMute(mute)
-
静音或取消静音音频播放设备。
Parameters:
Name Type Description mute
是否静音音频播放设备。 - true:静音音频播放设备。 - false:取消静音音频播放设备。
Returns:
- 0:方法调用成功。 - 其他:方法调用失败。
- Type
- number
-
setPlayoutDeviceVolume(volume)
-
设置音频播放设备音量。
Parameters:
Name Type Description volume
number 音频播放设备音量。取值范围为 0~255。 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
-
setRecordDevice(id)
-
指定音频采集设备。
Parameters:
Name Type Description id
String 音频采集设备的设备 ID。可通过 NERtcEngine#enumerateRecordDevices 获取。插拔设备不会影响 deviceId。 Returns:
- 0:方法调用成功。 - 其他:方法调用失败。
- Type
- number
-
setRecordDeviceMute(mute)
-
静音或取消静音音频采集设备。
Parameters:
Name Type Description mute
boolean 是否静音音频采集设备。 - true:静音音频采集设备。 - false:取消静音音频采集设备。
Returns:
- 0:方法调用成功。 - 其他:方法调用失败。
- Type
- number
-
setRecordDeviceVolume(volume)
-
设置音频采集设备音量。
Parameters:
Name Type Description volume
number 音频采集设备音量。取值范围为 0~255。 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
-
setStreamAlignmentProperty(enable)
-
开启精准对齐。
Parameters:
Name Type Description enable
boolean 是否开启精准对齐功能: true:开启精准对齐功能。 false:关闭精准对齐功能。
- Since:
-
- V5.4.0
通过此接口可以实现精准对齐功能,对齐本地系统与服务端的时间。 NOTE: - 请在引擎初始化之后调用此接口,且该方法仅可在加入房间前调用。 - 适用于 KTV 实时合唱的场景。
- 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, size)
-
您可以调用该方法指定只订阅的音频流。
- 此接口需要在加入房间成功后调用。 - 对于调用接口时不在房间的 uid 不生效。
Parameters:
Name Type Description uids
Array.<Number> 只订阅此用户 uid 列表 的音频.此列表为全量列表。如果列表为空或 null,取消订阅白名单。例如:[uid1,uid2...]。 size
number 数组长度 Returns:
- 0:方法调用成功。 - 其他:方法调用失败。
- Type
- number
-
setSubscribeAudioBlocklist(audioStreamType, uids, size)
-
您可以调用该方法指定不订阅的音频流。
- 此接口需要在加入房间成功后调用。 - 对于调用接口时不在房间的 uid 不生效。
Parameters:
Name Type Description audioStreamType
number 音频流类型。 - 0: 主流 - 1: 辅流
uids
Array.<Number> 只订阅此用户 uid 列表 的音频.此列表为全量列表。如果列表为空或 null,取消订阅白名单。例如:[uid1,uid2...]。 size
number 数组长度 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 平衡模式
mirror_mode
number 设置本地视频编码的镜像模式,即本地发送视频的镜像模式,只影响远端用户看到的视频画面: - 0 Windows/macOS SDK 启用镜像模式。在 iOS/Android 平台中:如果您使用前置摄像头,SDK 默认启用镜像模式;如果您使用后置摄像头,SDK 默认关闭镜像模式。 - 1 启用镜像模式。 - 2 清晰度优先 - 3 关闭镜像模式(默认)。
orientation_mode
number 编码策略: - 0 该模式下 SDK 输出的视频方向与采集到的视频方向一致。接收端会根据收到的视频旋转信息对视频进行旋转(默认)。 - 1 该模式下 SDK 固定输出横屏模式的视频。如果采集到的视频是竖屏模式,则视频编码器会对其进行裁剪。 - 2 该模式下 SDK 固定输出竖屏模式的视频,如果采集到的视频是横屏模式,则视频编码器会对其进行裁剪。
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
-
setVideoDevice(id)
-
指定视频采集设备。
Parameters:
Name Type Description id
string 视频采集设备的设备 ID。可以通过 NERtcEngine#enumerateCaptureDevices获取。 Returns:
- 0:方法调用成功。 - 其他:方法调用失败。
- Type
- number
-
setVideoDeviceWithType(id, streamType)
-
指定视频采集设备。
Parameters:
Name Type Description id
string 视频采集设备的设备 ID。可以通过 NERtcEngine#enumerateCaptureDevices获取。 streamType
number 视频流类型。 - 0:视频流主流。 - 1:视频流辅流。
Returns:
- 0:方法调用成功。 - 其他:方法调用失败。
- Type
- number
-
setVoiceBeautifierPreset(type)
-
设置 SDK 预设的美声效果。调用该方法可以为本地发流用户设置 SDK 预设的人声美声效果。
Parameters:
Name Type Description type
number 预设的美声效果模式。默认关闭美声效果: - 0: 默认关闭 - 1: 低沉 - 2: 圆润 - 3: 清澈 - 4: 磁性 - 5: 录音棚 - 6: 天籁 - 7: KTV - 8: 悠远 - 9: 教堂 - 10: 卧室 - 11: Live
- Since:
-
- 4.1.110
NOTE: - 通话结束后重置为默认关闭
- 4.1.110
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,可以通过NERtcEngine#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
-
startAudioDeviceLoopbackTest(interval)
-
开始音频设备回路测试。
该方法测试音频采集和播放设备是否能正常工作。一旦测试开始,音频采集设备会采集本地音频,然后使用音频播放设备播放出来。可以通过 NERtcEngine#on监听 onLocalAudioVolumeIndication 报告音量信息的事件。 NOTE: - 该方法需在加入房间前调用。 - 音频设备回路测试会在通话开始后自动结束,您也可以手动调用 NERtcEngine#stopAudioDeviceLoopbackTest 停止音频设备回路测试。 - 该方法仅在本地进行音频设备测试,不涉及网络连接。
Parameters:
Name Type Description interval
number 事件上报的时间间隔,单位为毫秒。 Fires:
Returns:
- 0:方法调用成功。 - 其他:方法调用失败。
- Type
- number
-
startAudioDump()
-
开启音频 dump。
Returns:
- 0:方法调用成功。 - 其他:方法调用失败。
- Type
- number
-
startAudioDumpWithType(type)
-
开启音频 dump。
Parameters:
Name Type Description type
number 音频 dump 类型。 - 0:仅输出.dump 文件(默认)。 - 1:输出.dump 和.wav 文件。 - 2: 仅输出.wav 文件.
- Since:
-
- V5.4.0
Returns:
- 0:方法调用成功。 - 其他:方法调用失败。
- Type
- number
-
startAudioMixing(option)
-
开始播放伴奏。
指定本地或在线音频文件来和录音设备采集的音频流进行混音。成功调用该方法后,可以通过NERtcEngine#on方法监听 onAudioMixingStateChanged 播放状态改变事件。 请在频道内调用该方法,如果在频道外调用该方法可能会出现问题。
Parameters:
Name Type Description option
object 创建混音任务配置的选项,包括混音任务类型、混音文件全路径或 URL 等。支持的音频格式包括:AAC、MP3 和 WAVE。 Properties
Name Type Argument Default Description path
string 本地文件全路径或 URL <256 chars loop_count
number <optional>
1 循环次数,<= 0, 表示无限循环,默认 1 send_enabled
boolean <optional>
true 是否可发送,默认为 true send_volume
number <optional>
100 发送音量。最大为 100(默认)含义(0%-100%) playback_enabled
boolean <optional>
true 是否可回放,默认为 true playback_volume
number <optional>
100 回放音量。最大为 100(默认) start_timestamp
number <optional>
音乐文件开始播放的时间,UTC 时间戳,即从 1970 年 1 月 1 日 0 点 0 分 0 秒开始到事件发生时的毫秒数。默认值为 0,表示立即播放。 NERtcAudioStreamType
number <optional>
伴音跟随音频主流还是辅流,默认跟随主流。 progress_interval
number <optional>
伴音播放进度回调间隔,单位 ms,取值范围为 100~10000, 默认 1000ms。 Returns:
- 0:方法调用成功。 - 其他:方法调用失败。
- Type
- number
-
startAudioRecording(filePath, sampleRate, quality)
-
开始客户端录音。
Parameters:
Name Type Description filePath
String 录音文件在本地保存的绝对路径,需要精确到文件名及格式。例如:sdcard/xxx/audio.aac。 - 请确保指定的路径存在并且可写。 - 目前仅支持 WAV 或 AAC 文件格式。
sampleRate
number 录音采样率(Hz),可以设为 16000、32000(默认)、44100 或 48000。 quality
number 录音音质,只在 AAC 格式下有效。详细说明请参考 NERtcAudioRecordingQuality。 - Since:
-
- 4.4.8
- 调用该方法后,客户端会录制房间内所有用户混音后的音频流,并将其保存在本地一个录音文件中。录制开始或结束时,自动触发 onAudioRecording() 回调。 - 指定的录音音质不同,录音文件会保存为不同格式: - WAV:音质保真度高,文件大。 - AAC:音质保真度低,文件小。 NOTE: - 请在加入房间后调用此方法。 - 客户端只能同时运行一个录音任务,正在录音时,如果重复调用 startAudioRecording,会结束当前录制任务,并重新开始新的录音任务。 - 当前用户离开房间时,自动停止录音。您也可以在通话中随时调用 stopAudioRecording 手动停止录音。
- 4.4.8
Returns:
- 0:方法调用成功。 - 其他:方法调用失败。
- Type
- number
-
startAudioRecordingWithConfig(config)
-
开始客户端录音。
Parameters:
Name Type Description config
object 录音配置。 Properties
Name Type Description filePath
String 录音文件在本地保存的绝对路径,需要精确到文件名及格式。例如:sdcard/xxx/audio.aac。 - 请确保指定的路径存在并且可写。 - 目前仅支持 WAV 或 AAC 文件格式。
sampleRate
number 录音采样率(Hz),可以设为 16000、32000(默认)、44100 或 48000。 quality
number 录音音质,只在 AAC 格式下有效: - 0 低音质 - 1 中音质 - 2 高音质
position
number 录音文件所包含的内容: - 0 录制本地和所有远端用户混音后的音频(默认) - 1 仅录制本地用户的音频 - 2 仅录制所有远端用户的音频
cycleTime
number 录制过程中,循环缓存的最大时间长度,单位(s): - 0 录制本地和所有远端用户混音后的音频(默认) - 10 音频录制缓存时间为 10s,StopAudioRectording()后,将缓存都写到文件,文件数据时间跨度为: [0,10s] - 60 音频录制缓存时间为 60s,StopAudioRectording()后,将缓存都写到文件,文件数据时间跨度为: [0,60s] - 360 音频录制缓存时间为 360s,StopAudioRectording()后,将缓存都写到文件,文件数据时间跨度为: [0,360s] - 900 音频录制缓存时间为 900s,StopAudioRectording()后,将缓存都写到文件,文件数据时间跨度为: [0,900s]
- Since:
-
- V5.4.0
- 调用该方法后,客户端会录制房间内所有用户混音后的音频流,并将其保存在本地一个录音文件中。录制开始或结束时,自动触发 onAudioRecording() 回调。 - 指定的录音音质不同,录音文件会保存为不同格式: - WAV:音质保真度高,文件大。 - AAC:音质保真度低,文件小。 NOTE: - 请在加入房间后调用此方法。 - 客户端只能同时运行一个录音任务,正在录音时,如果重复调用 startAudioRecording,会结束当前录制任务,并重新开始新的录音任务。 - 当前用户离开房间时,自动停止录音。您也可以在通话中随时调用 stopAudioRecording 手动停止录音。
- V5.4.0
Returns:
- 0:方法调用成功。 - 其他:方法调用失败。
- Type
- number
-
startBeauty(file_path)
-
开启美颜功能模块。
Parameters:
Name Type Description file_path
String 文件文件绝对路径。(例:windows 环境下传入 xxx\data\beauty\nebeauty) - Since:
-
- V5.4.0
调用此接口后,开启美颜引擎。如果后续不再需要使用美颜功能,可以调用 `stopBeauty` 结束美颜功能模块,销毁美颜引擎并释放资源。 开启美颜功能模块后,默认无美颜效果,您需要通过 `setBeautyEffect` 或其他滤镜、贴纸相关接口设置美颜或滤镜效果。 NOTE: - 该方法需要在 `enableLocalVideo` 之前设置。 - 该方法仅适用于 Windows 平台。
- V5.4.0
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
-
startLastmileProbeTest(config)
-
开始通话前网络质量探测。
- 启用该方法后,SDK 会通过回调方式反馈上下行网络的质量状态与质量探测报告,包括带宽、丢包率、网络抖动和往返时延等数据。一般用于通话前的网络质量探测场景,用户加入房间之前可以通过该方法预估音视频通话中本地用户的主观体验和客观网络状态。 - 相关回调如下: - `onLastmileQuality`:网络质量状态回调,以打分形式描述上下行网络质量的主观体验。该回调视网络情况在约 5 秒内返回。 - `onLastmileProbeResult`:网络质量探测报告回调,报告中通过客观数据反馈上下行网络质量。该回调视网络情况在约 30 秒内返回。 NOTE: - 请在加入房间(joinChannel)前调用此方法。 - 调用该方法后,在收到 `onLastmileQuality` 和 `onLastmileProbeResult` 回调之前请不要调用其他方法,否则可能会由于 API 操作过于频繁导致此方法无法执行。
Parameters:
Name Type Description config
Object Last mile 网络探测配置。 Properties
Name Type Description probe_uplink
boolean 是否探测上行网络,不发流的用户,例如直播房间中的普通观众,无需进行上行网络探测。 - true: 探测 - false: 不探测
probe_downlink
boolean 是否探测下行网络。 - true: 探测 - false: 不探测
expected_uplink_bitratebps
number 本端期望的最高发送码率。 - 单位为 bps,范围为 [100000, 5000000] - 推荐参考 setVideoConfig 中的码率值设置该参数的值。
expected_downlink_bitratebps
number 本端期望的最高接收码率。 - 单位为 bps,范围为 [100000, 5000000]
Returns:
- 0:方法调用成功。 - 其他:方法调用失败。
- Type
- number
-
startPlayoutDeviceTest(path)
-
启动音频播放设备测试。
该方法测试音频播放设备是否能正常工作。启动测试后,SDK 播放指定的音频文件,测试者如果能听到声音,说明播放设备能正常工作。调用该方法后,可以通过NERtcEngine#on方法监听 onLocalAudioVolumeIndication (每隔 100 ms) NOTE: - 该方法需在加入房间前调用。 - 音频播放设备测试会在通话开始后自动结束,您也可以手动调用 NERtcEngine#stopPlayoutDeviceTest 停止音频播放设备测试。 - 支持文件格式包括 wav、mp3、aac。
Parameters:
Name Type Description path
string 音频文件的绝对路径,路径字符串使用 UTF-8 编码格式。 Fires:
Returns:
- 0:方法调用成功,并且可以听到所设置文件的声音。 - 其他:方法调用失败。
- Type
- number
-
startRecordDeviceTest(interval)
-
启动音频采集设备测试。
该方法测试音频采集设备是否能正常工作。调用该方法后,可以通过NERtcEngine#on方法监听 onLocalAudioVolumeIndication 报告采集设备的音量信息事件。 NOTE: - 该方法需在加入房间前调用。 - 音频采集设备测试会在通话开始后自动结束,您也可以手动调用 NERtcEngine#stopRecordDeviceTest 停止音频采集设备测试。
Parameters:
Name Type Description interval
number 事件上报的时间间隔,单位为毫秒。 Fires:
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 调用 NERtcEngine#startScreenCaptureByWindowId 方法共享窗口时,是否将该窗口前置 excluded_window_list
Array.<number> 待屏蔽窗口的 ID 列表 excluded_window_count
number 待屏蔽窗口的数量 prefer
number 编码策略倾向: - 0 动画模式 - 1 细节模式
Returns:
- 0:方法调用成功。 - -100: 需要先调用 NERtcEngine#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 调用 NERtcEngine#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 调用 NERtcEngine#startScreenCaptureByWindowId 方法共享窗口时,是否将该窗口前置 excluded_window_list
Array.<number> 待屏蔽窗口的 ID 列表 excluded_window_count
number 待屏蔽窗口的数量 prefer
number 编码策略倾向: - 0 动画模式 - 1 细节模式
Returns:
- 0:方法调用成功。 - 其他:方法调用失败。
- Type
- number
-
startVideoPreview()
-
开启视频预览。
该方法用于在进入频道前启动本地视频预览。调用该 API 前,必须: - 调用 NERtcEngine#setupLocalVideoCanvas 设置预览窗口; - 调用 NERtcEngine#setVideoDevice 前必须先设置设备 ID; NOTE: 启用了本地视频预览后,在进入频道前,本地预览必须先关闭,需要调用 NERtcEngine#stopVideoPreview。
Returns:
- 0:方法调用成功。 - 其他:方法调用失败。
- Type
- number
-
startVideoPreviewWithType(streamType)
-
开启视频预览。
Parameters:
Name Type Description streamType
number 视频通道类型。 - 0:主流。 - 1:辅流。
- Since:
-
- V5.4.0
该方法用于在进入频道前启动本地视频预览。调用该 API 前,必须: - 调用 NERtcEngine#setupLocalVideoCanvas 设置预览窗口; - 调用 NERtcEngine#setVideoDevice 前必须先设置设备 ID; NOTE: 启用了本地视频预览后,在进入频道前,本地预览必须先关闭,需要调用 NERtcEngine#stopVideoPreview。
- V5.4.0
Returns:
- 0:方法调用成功。 - 其他:方法调用失败。
- Type
- number
-
stopAllEffects()
-
停止播放所有音效文件。
Returns:
- 0:方法调用成功。 - 其他:方法调用失败。
- Type
- number
-
stopAudioDeviceLoopbackTest()
-
停止音频设备回路测试。
NOTE: - 该方法需在加入房间前调用。
Returns:
- 0:方法调用成功。 - 其他:方法调用失败。
- Type
- number
-
stopAudioDump()
-
结束音频 dump。
Returns:
- 0:方法调用成功。 - 其他:方法调用失败。
- Type
- number
-
stopAudioMixing()
-
停止播放伴奏。
该方法停止播放伴奏。请在频道内调用该方法。
Returns:
- 0:方法调用成功。 - 其他:方法调用失败。
- Type
- number
-
stopAudioRecording()
-
停止客户端录音。
- Since:
-
- 4.4.8
- 本端离开房间时自动停止录音,您也可以在通话中随时调用 stopAudioRecording 手动停止录音。 NOTE: - 该接口需要在 leaveChannel 之前调用。
- 4.4.8
Returns:
- 0:方法调用成功。 - 其他:方法调用失败。
- Type
- number
-
stopBeauty()
-
结束美颜功能模块。
- Since:
-
- V5.4.0
如果后续不再需要使用美颜功能,可以调用 `stopBeauty` 结束美颜功能模块,SDK 会自动销毁美颜引擎并释放资源。 NOTE: - 该方法仅适用于 Windows 平台。
- V5.4.0
Returns:
- 0: 方法调用成功 - 其他: 调用失败
- Type
- number
-
stopChannelMediaRelay()
-
停止跨房间媒体流转发。
主播离开房间时,跨房间媒体流转发自动停止,您也可以在需要的时候随时调用 stopChannelMediaRelay 方法,此时主播会退出所有目标房间。 成功调用该方法后,SDK 会触发 onMediaRelayStateChanged 回调。
Returns:
- 0:方法调用成功。 - 其他:方法调用失败。
- Type
- number
-
stopEffect(effectId)
-
停止播放指定音效文件。
请在频道内调用该方法。
Parameters:
Name Type Description effectId
number 指定音效的 ID。每个音效均有唯一的 ID。 Returns:
- 0:方法调用成功。 - 其他:方法调用失败。
- Type
- number
-
stopLastmileProbeTest()
-
停止通话前网络质量探测。
- Since:
-
- V4.5.0
Returns:
- 0: 方法调用成功 - 其他: 调用失败
-
stopPlayoutDeviceTest()
-
停止播放设备测试。
NOTE: - 该方法需在加入房间前调用。
Returns:
- 0:方法调用成功。 - 其他:方法调用失败。
- Type
- number
-
stopRecordDeviceTest()
-
停止音频采集设备测试。
该方法停止音频采集设备测试。 NOTE: - 该方法需在加入房间前调用。 - 音频采集设备测试会在通话开始后自动结束,您也可以手动调用 NERtcEngine#stopRecordDeviceTest 停止音频采集设备测试。
Returns:
- 0:方法调用成功。 - 其他:方法调用失败。
- Type
- number
-
stopScreenCapture()
-
停止屏幕共享。
Returns:
- 0:方法调用成功。 - 其他:方法调用失败。
- Type
- number
-
stopVideoPreview()
-
停止视频预览。
通过此接口可以实现在预览本地视频后关闭预览。
Returns:
- 0:方法调用成功。 - 其他:方法调用失败。
- Type
- number
-
stopVideoPreviewWithType(streamType)
-
停止视频预览。
通过此接口可以实现在预览本地视频后关闭预览。
Parameters:
Name Type Description streamType
number 视频通道类型。 - 0:主流。 - 1:辅流。
Returns:
- 0:方法调用成功。 - 其他:方法调用失败。
- Type
- number
-
subscribeAllRemoteAudioStream(subscribe)
-
取消或恢复订阅所有远端用户的音频主流。
Parameters:
Name Type Description subscribe
boolean - true:订阅所有远端用户的音频主流。 - false:取消订阅所有远端用户的音频主流。
- Since:
-
- V5.4.0
加入房间时,默认订阅所有远端用户的音频主流。 NOTE: - 设置该方法的 subscribe 参数为 true 后,对后续加入房间的用户同样生效。 - 在开启自动订阅(默认)时,设置该方法的 subscribe 参数为 false 可以实现取消订阅所有远端用户的音频流,但此时无法再调用NERtcEngine#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
-
subscribeRemoteData(uid, subscribe)
-
取消或恢复订阅指定远端用户数据通道流。
Parameters:
Name Type Description uid
number 指定用户的 ID。 subscribe
boolean 是否订阅远端用户数据通道流。 - Since:
-
- V5.4.0
加入房间时,默认订阅所有远端用户的数据通道流,您可以通过此方法取消或恢复订阅指定远端用户的数据通道流。 NOTE: - 当 kNERtcKeyAutoSubscribeData 默认打开时,用户不能手动修改数据通道订阅状态
- V5.4.0
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
-
switchChannel(token, channel_name)
-
快速切换音视频房间。
Parameters:
Name Type Description token
number 安全认证签名(NERTC Token)。 - null。非安全模式下可设置为 null。安全性不高,建议在产品正式上线前联系对应商务经理转为安全模式。 - 已获取的 NERTC Token。安全模式下必须设置为获取到的 Token。若未传入正确的 Token,用户将无法进入房间。推荐使用安全模式。
channel_name
string 期望切换到的目标房间名称。 - Since:
-
- 4.4.8
- 房间场景为直播场景时,房间中角色为观众的成员可以调用该方法从当前房间快速切换至另一个房间。 - 成功调用该方切换房间后,本端用户会先收到离开房间的回调 onLeaveChannel,再收到成功加入新房间的回调 onJoinChannel。远端用户会收到 onUserLeave 和 onUserJoined 回调。 NOTE: - 快速切换房间功能默认关闭。如需使用,请 [提交工单](https://app.yunxin.163.com/global/service/ticket/create) 联系网易云信技术支持工程师免费开通。 - 该方法仅适用于直播场景中,角色为观众的音视频房间成员。即已通过接口 setchannelprofile 设置房间场景为直播,通过 setClientRole 设置房间成员的角色为观众。 - 房间成员成功切换房间后,默认订阅房间内所有其他成员的音频流,因此产生用量并影响计费。如果想取消订阅,可以通过调用相应的 subscribeRemoteAudio 方法传入 false 实现。
- 4.4.8
Returns:
- 0:方法调用成功。 - 其他:方法调用失败。
- Type
- number
-
switchChannelWithOptions(token, channelName, channelOptions)
-
快速切换音视频房间。
Parameters:
Name Type Description token
number 安全认证签名(NERTC Token)。 - null。非安全模式下可设置为 null。安全性不高,建议在产品正式上线前联系对应商务经理转为安全模式。 - 已获取的 NERTC Token。安全模式下必须设置为获取到的 Token。若未传入正确的 Token,用户将无法进入房间。推荐使用安全模式。
channelName
string 期望切换到的目标房间名称。 channelOptions
Object 加入音视频房间时的一些可选信息。 Properties
Name Type Description custom_info
string 自定义信息,最长支持 127 个字符。 permission_key
string 权限密钥。能控制通话时长及媒体权限能力。 - Since:
-
- V5.4.0
- 房间场景为直播场景时,房间中角色为观众的成员可以调用该方法从当前房间快速切换至另一个房间。 - 成功调用该方切换房间后,本端用户会先收到离开房间的回调 onLeaveChannel,再收到成功加入新房间的回调 onJoinChannel。远端用户会收到 onUserLeave 和 onUserJoined 回调。 NOTE: - 快速切换房间功能默认关闭。如需使用,请 [提交工单](https://app.yunxin.163.com/global/service/ticket/create) 联系网易云信技术支持工程师免费开通。 - 该方法仅适用于直播场景中,角色为观众的音视频房间成员。即已通过接口 setchannelprofile 设置房间场景为直播,通过 setClientRole 设置房间成员的角色为观众。 - 房间成员成功切换房间后,默认订阅房间内所有其他成员的音频流,因此产生用量并影响计费。如果想取消订阅,可以通过调用相应的 subscribeRemoteAudio 方法传入 false 实现。
- V5.4.0
Returns:
- 0:方法调用成功。 - 其他:方法调用失败。
- Type
- number
-
switchChannelWithOptionsEx(token, channelName, channelOptions)
-
快速切换音视频房间。
Parameters:
Name Type Description token
number 安全认证签名(NERTC Token)。 - null。非安全模式下可设置为 null。安全性不高,建议在产品正式上线前联系对应商务经理转为安全模式。 - 已获取的 NERTC Token。安全模式下必须设置为获取到的 Token。若未传入正确的 Token,用户将无法进入房间。推荐使用安全模式。
channelName
string 期望切换到的目标房间名称。 channelOptions
Object 加入音视频房间时的一些可选信息。 Properties
Name Type Description custom_info
string 自定义信息,最长支持 127 个字符。 permission_key
string 权限密钥。能控制通话时长及媒体权限能力。 - Since:
-
- V5.4.0
- 房间场景为直播场景时,房间中角色为观众的成员可以调用该方法从当前房间快速切换至另一个房间。 - 成功调用该方切换房间后,本端用户会先收到离开房间的回调 onLeaveChannel,再收到成功加入新房间的回调 onJoinChannel。远端用户会收到 onUserLeave 和 onUserJoined 回调。 NOTE: - 快速切换房间功能默认关闭。如需使用,请 [提交工单](https://app.yunxin.163.com/global/service/ticket/create) 联系网易云信技术支持工程师免费开通。 - 该方法仅适用于直播场景中,角色为观众的音视频房间成员。即已通过接口 setchannelprofile 设置房间场景为直播,通过 setClientRole 设置房间成员的角色为观众。 - 房间成员成功切换房间后,默认订阅房间内所有其他成员的音频流,因此产生用量并影响计费。如果想取消订阅,可以通过调用相应的 subscribeRemoteAudio 方法传入 false 实现。
- V5.4.0
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 调用 NERtcEngine#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
-
uploadSdkInfo()
-
上传 SDK 信息(如 log 文件和 Audio dump 文件)。
Events
-
onAddLiveStreamTask
-
通知添加直播任务结果。
该回调异步返回 NERtcEngine#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
-
onAudioDefaultDeviceChanged
-
音频默认设备更改回调。
Parameters:
Name Type Description device_id
string 设备 ID。 device_type
number 音频设备类型: - 0 未知音频设备 - 1 音频采集设备 - 2 音频播放设备
-
onAudioDeviceStateChanged
-
音频设备状态更改回调。
Parameters:
Name Type Description device_id
string 设备 ID。 device_type
number 音频设备类型: - 0 未知音频设备 - 1 音频采集设备 - 2 音频播放设备
device_state
number 音频设备状态: - 0 音频设备已激活 - 1 音频设备未激活
-
onAudioEffectFinished
-
本地音效文件播放进度回调。
当播放音效结束后,会触发该回调。
Parameters:
Name Type Description effect_id
number 音效 ID -
onAudioEffectTimestampUpdate
-
本地音效文件播放进度回调。
调用 NERtcEngine#playEffect 播放音效文件后,当音效播放进度改变时,会触发该回调。
Parameters:
Name Type Description effect_id
number 音效 ID timestamp_ms
number 音乐文件播放进度,单位为毫秒。 -
onAudioHowling
-
监测音频啸叫的回调。
Parameters:
Name Type Description howling
boolean 是否出现啸叫 -
onAudioMixingStateChanged
-
本地用户的音乐文件播放状态改变回调。
调用 NERtcEngine#startAudioMixing 播放混音音乐文件后,当音乐文件的播放状态发生改变时,会触发该回调。 - 如果播放音乐文件正常结束,state 会返回相应的状态码 0,error_code 返回 0。 - 如果播放出错,则返回状态码 1,error_code 返回相应的出错原因。 - 如果本地音乐文件不存在、文件格式不支持、无法访问在线音乐文件 URL,error_code 都会返回 100。
Parameters:
Name Type Description state
number 音乐文件播放状态: - 0 音乐文件播放结束。 - 1 音乐文件报错。
error_code
number 错误码: - 0 没有错误。 - 1 通用错误。 - 100 音乐文件打开出错。
-
onAudioMixingTimestampUpdate
-
本地用户的音乐文件播放进度回调
调用 NERtcEngine#startAudioMixing 播放混音音乐文件后,当音乐文件的播放进度改变时,会触发该回调。
Parameters:
Name Type Description timestamp_ms
number 音乐文件播放进度,单位为毫秒。 -
onAudioRecording
-
音频录制状态回调。
Parameters:
Name Type Description code
音频录制状态码。详细信息请参考 NERtcAudioRecordingCode。 file_path
音频录制文件保存路径。 -
onBitrateUpdated
-
视频码率信息回调
Parameters:
Name Type Description bps
number 码率 type
number 视频通道类型 - Since:
-
- V5.4.0
-
onCheckNECastAudioDriverResult
-
收到检测安装声卡的内容回调(仅适用于 Mac 系统)。
Parameters:
Name Type Description result
number 安装虚拟声卡的结果: - 0 安装音频驱动插件成功 - 1 安装音频驱动插件未授 - 2 安装音频驱动插件失败
- Since:
-
- V5.4.0
在 Mac 系统上,您可以通过调用 checkNECastAudioDriver 为当前系统安装一个音频驱动,并让 SDK 通过该音频驱动捕获当前 Mac 系统播放出的声音。
- V5.4.0
-
onClientRoleChanged
-
参会者角色类型变更回调。
本地用户加入房间后,通过 NERtcEngine#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,指定是哪个用户的视频流。 -
onFirstVideoDataReceivedWithType
-
已显示首帧远端视频回调。
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)。 -
onFirstVideoFrameDecodedWithType
-
已显示首帧远端视频回调。
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 格式。 -
onLastmileProbeResult
-
通话前网络上下行 Last mile 质量探测报告回调。
该回调描述本地用户在加入房间前的 last mile 网络探测详细报告,报告中通过客观数据反馈上下行网络质量,包括网络抖动、丢包率等数据。您可以通过该回调客观预测本地用户在音视频通话中的网络状态。 在调用 startLastmileProbeTest 之后,SDK 会在约 30 秒内返回该回调。
Parameters:
Name Type Description result
object 上下行 Last mile 质量探测结果。 Properties
Name Type Description rtt
number 往返时延,单位为毫秒(ms)。 state
number 质量探测结果的状态。 - 1:表示本次 last mile 质量探测的结果是完整的。 - 2:表示本次 last mile 质量探测未进行带宽预测,因此结果不完整。通常原因为测试资源暂时受限。 - 3:未进行 last mile 质量探测。通常原因为网络连接中断。
uplink_report
number 上行网络质量报告。 Properties
Name Type Description jitter
number 网络抖动,单位为毫秒 (ms)。 packet_loss_rate
number 丢包率(%)。 available_band_width
number 可用网络带宽预估,单位为 bps。 downlink_report
number 下行网络质量报告。 Properties
Name Type Description jitter
number 网络抖动,单位为毫秒 (ms)。 packet_loss_rate
number 丢包率(%)。 available_band_width
number 可用网络带宽预估,单位为 bps。 - Since:
-
- V4.5.0
-
onLastmileQuality
-
通话前网络上下行 last mile 质量状态回调。
该回调描述本地用户在加入房间前的 last mile 网络探测的结果,以打分形式描述上下行网络质量的主观体验,您可以通过该回调预估本地用户在音视频通话中的网络体验。 在调用 startLastmileProbeTest 之后,SDK 会在约 5 秒内返回该回调。
Parameters:
Name Type Description quality
number 网络上下行质量,基于上下行网络的丢包率和抖动计算,探测结果主要反映上行网络的状态。 - 0:网络质量未知。 - 1:网络质量极好。 - 2:用户主观感觉和 `kNERtcNetworkQualityExcellent` 类似,但码率可能略低于 `kNERtcNetworkQualityExcellent`。 - 3:用户主观感受有瑕疵但不影响沟通。 - 4:勉强能沟通但不顺畅。 - 5:网络质量非常差,基本不能沟通。 - 6:完全无法沟通。
- Since:
-
- V4.5.0
-
onLeaveChannel
-
离开频道回调。 App 调用 NERtcEngine#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
-
提示频道内本地用户瞬时音量的回调。
该回调默认禁用。可以通过 NERtcEngine#enableAudioVolumeIndication 方法开启; 开启后,本地用户说话,SDK 会按 NERtcEngine#enableAudioVolumeIndication 方法中设置的时间间隔触发该回调。 如果本地用户将自己静音(调用了 NERtcEngine#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
该回调默认禁用。可以通过 NERtcEngine#enableAudioVolumeIndication 方法开启; 开启后,本地用户说话,SDK 会按 NERtcEngine#enableAudioVolumeIndication 方法中设置的时间间隔触发该回调。 如果本地用户将自己静音(调用了 NERtcEngine#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 视频编码器名字。 -
onLocalVideoWatermarkState
-
本地视频水印生效结果回调。
Parameters:
Name Type Description videoStreamType
number 对应的视频流类型 - 0 主流 - 1 辅流
state
number 水印状态 - 0 虚拟背景开启成功。 - 1 自定义背景图片不存在。 - 2 自定义背景图片的图片格式无效。 - 3 自定义背景图片的颜色格式无效。
- Since:
-
- V5.4.0
-
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 开始到发生此事件过去的时间(毫秒) -
onReleasedHwResources
-
释放硬件资源的回调。
Parameters:
Name Type Description result
NERtcErrorCode 错误码 -
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
-
提示频道内谁正在说话及说话者瞬时音量的回调。
该回调默认禁用。可以通过 NERtcEngine#enableAudioVolumeIndication 方法开启; 开启后,无论频道内是否有人说话,SDK 都会按 NERtcEngine#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
-
通知删除直播任务结果。
该回调异步返回 NERtcEngine#removeLiveStreamTask 接口的调用结果;实际推流状态参考 onLiveStreamState 事件
Parameters:
Name Type Description task_id
String 任务 ID error
number 结果 -
onRequestSendKeyFrame
-
I 帧请求事件回调
Parameters:
Name Type Description type
number 视频通道类型 - Since:
-
- V5.4.0
-
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
-
通知更新直播任务结果。
该回调异步返回 NERtcEngine#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。 -
onUserDataBufferedAmountChanged
-
远端用户数据通道 buffer 变更回调
Parameters:
Name Type Description uid
number 远端用户 ID amount
number 变更前大小 - Since:
-
- V5.4.0
-
onUserDataReceiveMessage
-
远端用户通过数据通道发送数据的回调
Parameters:
Name Type Description uid
number 远端用户 ID data
ArrayBuffer 数据。 - Since:
-
- V5.4.0
-
onUserDataStart
-
远端用户开启数据通道的回调
Parameters:
Name Type Description uid
number 远端用户 ID - Since:
-
- V5.4.0
-
onUserDataStateChanged
-
远端用户数据通道状态变更回调
Parameters:
Name Type Description uid
number 远端用户 ID - Since:
-
- V5.4.0
-
onUserDataStop
-
远端用户停用数据通道的回调
Parameters:
Name Type Description uid
number 远端用户 ID - Since:
-
- V5.4.0
-
onUserJoined
-
远端用户加入当前频道回调。
- 通信模式下,该回调提示有远端用户加入了频道,并返回新加入用户的 ID;如果加入之前,已经有其他用户在频道中了,新加入的用户也会收到这些已有用户加入频道的回调。
Parameters:
Name Type Description uid
number 新加入频道的远端用户 ID。 userName
string 新加入频道的远端用户名(无效)。 -
onUserJoinedWithExtraInfo
-
远端用户加入当前频道回调。
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 用户超时导致离开
-
onUserLeftWithExtraInfo
-
远端用户离开当前频道回调。
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 是否禁视频流。 -
onUserVideoMuteWithType
-
远端用户是否禁视频流回调。
Parameters:
Name Type Description streamType
number 视频流类型 - 0 主流 - 1 辅流
uid
number 远端用户 ID。 mute
boolean 是否禁视频流。 - Since:
-
- V5.4.0
-
onUserVideoProfileUpdate
-
远端用户视频配置更新回调。
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
-
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。 -
onVideoCodecUpdated
-
视频编码器信息回调
Parameters:
Name Type Description codecType
number 视频编码器类型: - 3 H264 编解码器。
type
number 视频通道类型 - Since:
-
- V5.4.0
-
onVideoDeviceStateChanged
-
视频设备状态更改回调。
Parameters:
Name Type Description device_id
string 设备 ID。 device_type
number 视频设备类型: - 0 未知音频设备 - 1 视频采集设备
device_state
number 视频设备状态: - 0 视频设备已添加 - 1 视频设备已拔除
-
onVirtualBackgroundSourceEnabled
-
通知虚拟背景功能是否成功启用的回调。
Parameters:
Name Type Description enabled
boolean 是否成功启用虚拟背景 - true 成功启用 - false 未成功启用
reason
number 虚拟背景功能未成功启用的原因或成功启用虚拟背景功能的通知: - 0 虚拟背景开启成功。 - 1 自定义背景图片不存在。 - 2 自定义背景图片的图片格式无效。 - 3 自定义背景图片的颜色格式无效。
- Since:
-
- V5.4.0
-
onWarning
-
发生警告回调。
Parameters:
Name Type Description warnCode
NERtcErrorCode 错误码 msg
string 错误描述