NERtcEngine class abstract
NERtc 核心接口
Constructors
Properties
- audioEffectManager → NERtcAudioEffectManager
-
获取音效管理模块
no setter
- audioMixingManager → NERtcAudioMixingManager
-
获取混音管理模块
no setter
- desktopScreenCapture → NERtcDesktopScreenCapture
-
no setter
- deviceManager → NERtcDeviceManager
-
获取设备管理模块
no setter
- hashCode → int
-
The hash code for this object.
no setterinherited
- runtimeType → Type
-
A representation of the runtime type of the object.
no setterinherited
Methods
-
addBeautyFilter(
String path, {String name = ''}) → Future< int> - 添加滤镜效果。 通过此接口可以实现加载滤镜资源,并添加对应的滤镜效果;若您需要更换滤镜,重复调用此接口使用新的滤镜资源即可。
-
addLiveStreamTask(
NERtcLiveStreamTaskInfo taskInfo) → Future< int> - 添加房间内推流任务。成功添加后当前用户可以收到该直播流的状态通知。通话中有效。
-
addLocalRecorderStreamForTask(
NERtcLocalRecordingConfig config, String taskId) → Future< int> -
添加本地录制流任务
@since V5.6.40
config录制配置taskId录制任务 ID @return -
addLocalRecorderStreamLayoutForTask(
NERtcLocalRecordingLayoutConfig config, int uid, int streamType, int streamLayer, String taskId) → Future< int> -
添加指定用户的指定流的录制流布局
@since V5.6.40
config录制配置uid用户 IDstreamType流类型streamLayer流的录制混流层级taskId录制任务 ID @return -
adjustLoopBackRecordingSignalVolume(
int volume) → Future< int> - 调整共享音频音量。
-
adjustPlaybackSignalVolume(
int volume) → Future< int> - 调节本地播放的所有远端用户的信号音量。
-
adjustRecordingSignalVolume(
int volume) → Future< int> - 调节采集信号音量。
-
adjustUserPlaybackSignalVolume(
int uid, int volume) → Future< int> - 调节本地播放的指定远端用户的信号音量。
-
aiManualInterrupt(
int dstUid) → Future< int> - AI手动中断
-
checkNECastAudioDriver(
) → Future< int> - 检测虚拟声卡是否安装(仅适用于 Mac 系统)。
-
checkPermission(
) → Future< List< String?> ?> - 检查音视频相关的多媒体设备权限。
-
create(
{required String appKey, required NERtcChannelEventCallback channelEventCallback, NERtcOptions? options}) → Future< int> - 创建 NERtc 实例
-
createChannel(
String channelName) → Future< NERtcChannel> -
enableAudioVolumeIndication(
bool enable, int interval, {bool vad = false}) → Future< int> - 启用说话者音量提示。通过此接口可以实现允许 SDK 定期向 App 反馈房间内发音频流的用户和瞬时音量最高的远端用户(最多 3 位,包括本端)的音量相关信息,即当前谁在说话以及说话者的音量。
-
enableBeauty(
bool enabled) → Future< int> - 暂停或恢复美颜效果。 通过此接口实现取消美颜效果后,包括全局美颜、滤镜在内的所有美颜效果都会暂时关闭,直至重新恢复美颜效果。
-
enableDualStreamMode(
bool enable) → Future< int> - 设置是否开启视频大小流模式。
-
enableEncryption(
bool enable, NERtcEncryptionConfig config) → Future< int> - 开启或关闭媒体流加密。
-
enableLocalAudio(
bool enable) → Future< int> - 开启或关闭本地音频的采集和发送。 通过本接口可以实现开启或关闭本地语音功能,进行本地音频采集及处理。
-
enableLocalData(
bool enable) → Future< int> - 启用本地数据
-
enableLocalSubStreamAudio(
bool enable) → Future< int> - 开启或关闭音频辅流。
-
enableLocalVideo(
bool enable, {int streamType = NERtcVideoStreamType.main}) → Future< int> - 开启或关闭本地视频的采集与发送。
-
enableLoopbackRecording(
bool enable, {String deviceName = ""}) → Future< int> - 开启或关闭音频共享.
-
enableMediaPub(
int mediaType, bool enable) → Future< int> - 开启或关闭本地媒体流(主流)的发送。 该方法用于开始或停止向网络发送本地音频或视频数据。
-
enableSpatializer(
bool enable, bool applyToTeam) → Future< int> -
enableSpatializerRoomEffects(
bool enable) → Future< int> -
enableSuperResolution(
bool enable) → Future< int> - 启用或停止 AI 超分。
-
enableVideoCorrection(
bool enable) → Future< int> - 是否启用视频图像畸变矫正。
-
enableVirtualBackground(
bool enabled, NERtcVirtualBackgroundSource? backgroundSource, {bool force = false}) → Future< int> - 开启/关闭虚拟背景。 启用虚拟背景功能后,您可以使用自定义背景图片替换本地用户的原始背景图片。 替换后,频道内所有用户都可以看到自定义背景图片。
-
getConnectionState(
) → Future< int> - 获取当前房间连接状态。
-
getEffectDuration(
int effectId) → Future< int> - 获取音效文件时长。
-
getFeatureSupportedType(
NERtcFeatureType featureType) → Future< int> - 获取功能支持类型
-
getNetworkType(
) → Future< int> - 获取网络类型
-
getNtpTimeOffset(
) → Future< int> - 获取本地系统时间与服务端时间差值。
-
getParameter(
String key, String extraInfo) → Future< String> - 获取参数
-
initSpatializer(
) → Future< int> -
isFeatureSupported(
NERtcFeatureType featureType) → Future< bool> - 是否支持功能
-
joinChannel(
String? token, String channelName, int uid, [NERtcJoinChannelOptions? channelOptions]) → Future< int> - 加入音视频房间。
-
leaveChannel(
) → Future< int> - 离开音视频房间。 通过本接口可以实现挂断或退出通话,并释放本房间内的相关资源。
-
muteAudioForPlayStreaming(
String streamId, bool mute) → Future< int> - 静音播放流音频
-
muteLocalAudioStream(
bool mute) → Future< int> - 开启或关闭本地音频的采集和发送。 该方法用于向网络发送或取消发送本地音频数据,不影响本地音频的采集状态,也不影响接收或播放远端音频流。
-
muteLocalSubStreamAudio(
bool muted) → Future< int> - 静音或解除静音本地上行的音频辅流。
-
muteLocalVideoStream(
bool mute, {int streamType = NERtcVideoStreamType.main}) → Future< int> - 取消或恢复发布本端视频主流。
-
muteVideoForPlayStreaming(
String streamId, bool mute) → Future< int> - 静音播放流视频
-
noSuchMethod(
Invocation invocation) → dynamic -
Invoked when a nonexistent method or property is accessed.
inherited
-
pausePlayStreaming(
String streamId) → Future< int> - 暂停播放流
-
pushExternalAudioFrame(
NERtcAudioExternalFrame frame) → Future< int> -
pushExternalSubAudioFrame(
NERtcAudioExternalFrame frame) → Future< int> -
pushExternalVideoFrame(
NERtcVideoFrame frame, {int streamType = NERtcVideoStreamType.main}) → Future< int> - 推送外部视频帧。
-
pushLocalRecorderVideoFrameForTask(
int uid, int streamType, int streamLayer, String taskId, NERtcVideoFrame frame) → Future< int> -
推送本地录制视频帧
@since V5.6.40
uid用户 IDstreamType流类型streamLayer数据的录制混流层级taskId录制任务 IDframe视频帧 @return -
release(
) → Future< int> - 销毁 NERtc实例,释放资源
-
removeBeautyFilter(
) → Future< void> - 取消滤镜效果。
-
removeEventCallback(
NERtcChannelEventCallback callback) → void - 移除channel事件回调
-
removeLiveStreamTask(
String taskId) → Future< int> - 删除房间内指定推流任务。
-
removeLiveTaskEventCallback(
NERtcLiveTaskCallback callback) → void - 移除房间推流任务事件回调
-
removeLocalRecorderStreamForTask(
String taskId) → Future< int> -
移除本地录制流任务
@since V5.6.40
taskId录制任务 ID @return -
removeLocalRecorderStreamLayoutForTask(
int uid, int streamType, int streamLayer, String taskId) → Future< int> -
移除指定用户的指定流的录制流布局
@since V5.6.40
uid用户 IDstreamType流类型streamLayer流的录制混流层级taskId录制任务 ID @return -
removeStatsEventCallback(
NERtcStatsEventCallback callback) → void - 移除统计信息观测回调
-
remuxFlvToMp4(
String flvPath, String mp4Path, bool saveOri) → Future< int> -
将flv转码为mp4
@since V5.6.50
flvPathflv文件目录,包含文件名及后缀名mp4Path录制的mp4文件目录,包含文件名及后缀名saveOri是否保留flv文件,true为保存,false为删除 @return -
replaceLocalRecorderStreamLayoutForTask(
List< NERtcLocalRecordingStreamInfo> infos, String taskId) → Future<int> -
替换指定用户的指定流的录制流布局
@since V5.6.40
infos录制流布局配置数组taskId录制任务 ID @return -
reportCustomEvent(
String eventName, String? customIdentify, Map< String?, Object?> ? param) → Future<int> - 用户自定义上报事件。
-
resumePlayStreaming(
String streamId) → Future< int> - 恢复播放流
-
sendData(
NERtcDataExternalFrame frame) → Future< int> -
sendSEIMsg(
String seiMsg, {int streamType = NERtcVideoStreamType.main}) → Future< int> - 指定主流或辅流通道发送媒体增强补充信息(SEI)。 在本端推流传输视频流数据同时,发送流媒体补充增强信息来同步一些其他附加信息。
-
setAINSMode(
NERtcAudioAINSMode mode) → Future< int> - 设置AINS模式 NERtcAudioAINSMode
-
setAudioEffectPreset(
int preset) → Future< int> - 设置 SDK 预设的人声的变声音效。
-
setAudioProfile(
NERtcAudioProfile profile, NERtcAudioScenario scenario) → Future< int> - 设置音频编码属性。 通过此接口可以实现设置音频编码的采样率、码率、编码模式、声道数等,也可以设置音频属性的应用场景,包括聊天室场景、语音场景、音乐场景等。
-
setAudioRecvRange(
int audibleDistance, int conversationalDistance, NERtcDistanceRollOffModel rollOffModel) → Future< int> -
setAudioScenario(
int scenario) → Future< int> - 设置音频场景
-
setAudioSessionOperationRestriction(
NERtcAudioSessionOperationRestriction restriction) → Future< int> - 设置 SDK 对 Audio Session 的控制权限。
-
setAudioSubscribeOnlyBy(
List< int> ? uidArray) → Future<int> - 设置自己的音频只能被房间内指定的人订阅。 默认房间所有其他人都可以订阅自己的音频。
-
setBeautyEffect(
double level, int beautyType) → Future< int> - 设置美颜效果。 通过此接口可以实现设置磨皮、美白、大眼等多种全局美颜类型和对应的美颜强度
-
setBeautyFilterLevel(
double level) → Future< int> - 设置滤镜强度。 取值越大,滤镜强度越大,您可以根据业务需求自定义设置滤镜强度。
-
setCameraCaptureConfig(
NERtcCameraCaptureConfig captureConfig, {int streamType = NERtcVideoStreamType.main}) → Future< int> - 设置本地摄像头的采集偏好等配置。
-
setChannelProfile(
int channelProfile) → Future< int> - 设置房间的场景。 通过此接口可以实现设置房间场景为通话(默认)或直播场景。针对不同场景采取的优化策略不同,通话场景侧重语音流畅度,直播场景侧重视频清晰度。
-
setClientRole(
int role) → Future< int> - 设置直播场景下的用户角色。 通过本接口可以实现将用户角色在“主播”(broadcaster)和“观众“(audience)之间的切换,用户加入房间后默认为“主播”。
-
setCloudProxy(
int proxyType) → Future< int> - 开启并设置云代理服务。 在内网环境下,如果用户防火墙开启了网络限制,请参考《使用云代理》将指定 IP 地址和端口号加入防火墙白名单,然后调用此方法开启云代理,并将 proxyType 参数设置为 NERtcTransportTypeUDPProxy(1),即指定使用 UDP 协议的云代理。
-
setEventCallback(
NERtcChannelEventCallback callback) → void - 设置channel事件回调
-
setExternalAudioSource(
bool enable, int sampleRate, int channels) → Future< int> - 设置外部音频源
-
setExternalSubStreamAudioSource(
bool enable, int sampleRate, int channels) → Future< int> - 设置外部子流音频源
-
setExternalVideoSource(
bool enable, {int streamType = NERtcVideoStreamType.main}) → Future< int> - 开启或关闭外部视频源数据输入。
-
setLiveTaskEventCallback(
NERtcLiveTaskCallback callback) → void - 设置房间推流任务事件回调
-
setLocalMediaPriority(
int priority, bool isPreemptive) → Future< int> - 设置本地用户的媒体流优先级。
-
setLocalPublishFallbackOption(
int option) → Future< int> - 设置弱网条件下发布的音视频流回退选项。
-
setLocalVideoConfig(
NERtcVideoConfig videoConfig, {int streamType = NERtcVideoStreamType.main}) → Future< int> - 设置视频编码属性。通过此接口可以设置视频主流或辅流的编码分辨率、裁剪模式、码率、帧率、带宽受限时的视频编码降级偏好、编码的镜像模式、编码的方向模式参数。
-
setLocalVideoWatermarkConfigs(
int type, NERtcVideoWatermarkConfig? config) → Future< int> - 设置视频水印。水印在本地预览及发送过程中均生效。
-
setLocalVoiceEqualization(
int bandFrequency, int bandGain) → Future< int> - 设置本地语音音效均衡,即自定义设置本地人声均衡波段的中心频率。
-
setLocalVoicePitch(
double pitch) → Future< int> - 设置本地语音音调。
-
setLocalVoiceReverbParam(
NERtcReverbParam param) → Future< int> - 设置本地语音混响效果
-
setMultiPathOption(
NERtcMultiPathOption option) → Future< int> -
设置网络多路径选项
@since V5.8.2303
option多路径选项 @return -
setParameters(
NERtcParameters params) → Future< int> - 设置音视频通话的相关参数。 此接口提供技术预览或特别定制功能,详情请咨询技术支持
-
setRangeAudioMode(
NERtcRangeAudioMode audioMode) → Future< int> -
setRangeAudioTeamID(
int teamID) → Future< int> -
setRemoteHighPriorityAudioStream(
bool enabled, int uid, {int streamType}) → Future< int> - 设置远端用户音频流的高优先级。 支持在音频自动订阅的情况下,设置某一个远端用户的音频为最高优先级,可以优先听到该用户的音频
-
setRemoteSubscribeFallbackOption(
int option) → Future< int> - 设置弱网条件下订阅的音视频流回退选项。
-
setSpatializerRenderMode(
NERtcSpatializerRenderMode renderMode) → Future< int> -
setSpatializerRoomProperty(
NERtcSpatializerRoomProperty property) → Future< int> -
setStatsEventCallback(
NERtcStatsEventCallback callback) → void - 注册统计信息观测器,设置统计信息回调
-
setStreamAlignmentProperty(
bool enable) → Future< int> - 开启精准对齐。 通过此接口可以实现精准对齐功能,对齐本地系统与服务端的时间。
-
setSubscribeAudioAllowlist(
List< int> uidList) → Future<int> - 设置订阅音频白名单
-
setSubscribeAudioBlocklist(
List< int> uidList, int streamType) → Future<int> - 设置订阅音频黑名单 streamType 参考 NERtcAudioStreamType
-
setVideoCorrectionConfig(
NERtcVideoCorrectionConfiguration? config) → Future< int> - 设置视频图像矫正参数。
-
setVideoDump(
NERtcVideoDumpType dumpType) → Future< int> - 设置视频dump
-
setVideoRotationMode(
[int rotationMode = NERtcVideoRotationMode.NERtcVideoRotationModeBySystem]) → Future< int> - 设置本地视频画面的旋转模式。
-
setVideoStreamLayerCount(
int layerCount) → Future< int> - 设置视频流层数
-
setVoiceBeautifierPreset(
int preset) → Future< int> - 设置 SDK 预设的美声效果。
-
showLocalRecorderStreamDefaultCoverForTask(
bool showEnabled, int uid, int streamType, int streamLayer, String taskId) → Future< int> -
显示录制默认封面
@since V5.6.40
showEnabled是否显示封面uid用户 IDstreamType流类型streamLayer流的录制混流层级taskId录制任务 ID @return -
startASRCaption(
NERtcASRCaptionConfig config) → Future< int> -
开启实时字幕
@since V5.8.2303
configASR字幕配置 @return -
startAudioDump(
) → Future< int> - 开始记录音频 Dump。 音频 Dump 可用于分析音频问题。
-
startAudioDumpWithType(
int dumpType) → Future< int> - 开始记录音频 Dump。 音频 Dump 可用于分析音频问题。
-
startAudioRecording(
String filePath, int sampleRate, int quality) → Future< int> - 开始客户端录音。
-
startAudioRecordingWithConfig(
NERtcAudioRecordingConfiguration config) → Future< int> - 开始客户端录音。 调用该方法后,客户端会录制房间内所有用户混音后的音频流,并将其保存在本地一个录音文件中。
-
startBeauty(
{String filePath = ""}) → Future< int> - 开启美颜功能模块。
-
startChannelMediaRelay(
NERtcChannelMediaRelayConfiguration config) → Future< int> - 开始跨房间媒体流转发。
-
startLastmileProbeTest(
LastmileProbeConfig config) → Future< int> - 开始通话前网络质量探测。 启用该方法后,SDK 会通过回调方式反馈上下行网络的质量状态与质量探测报告,包括带宽、丢包率、网络抖动和往返时延等数据。一般用于通话前的网络质量探测场景,用户加入房间之前可以通过该方法预估音视频通话中本地用户的主观体验和客观网络状态。 相关回调如下:
-
startPlayStreaming(
String streamId, NERtcPlayStreamingConfig config) → Future< int> -
开始播放rtmp流
@since V5.8.2303
streamId流IDconfig拉流配置 @return -
startPushStreaming(
NERtcPushStreamingConfig config) → Future< int> -
开始推流
@since V5.8.2303
config推流配置 @return -
startScreenCapture(
NERtcScreenConfig config) → Future< int> - 开启屏幕共享。
-
startVideoPreview(
{int streamType = NERtcVideoStreamType.main}) → Future< int> - 开启视频预览。 通过本接口可以实现在加入房间前启动本地视频预览,支持预览本地摄像头或外部输入视频。
-
stopASRCaption(
) → Future< int> - 停止ASR字幕
-
stopAudioDump(
) → Future< int> - 结束音频Dump。
-
stopAudioRecording(
) → Future< int> - 停止客户端本地录音。
-
stopBeauty(
) → Future< void> - 结束美颜功能模块。 通过此接口实现关闭美颜功能模块后,SDK 会自动销毁美颜引擎并释放资源。
-
stopChannelMediaRelay(
) → Future< int> - 停止跨房间媒体流转发。
-
stopLastmileProbeTest(
) → Future< int> - 停止通话前网络质量探测。
-
stopLocalRecorderRemuxMp4(
String taskId) → Future< int> -
停止录制文件转码为mp4
@since V5.6.40
taskId录制任务 ID @return -
stopPlayStreaming(
String streamId) → Future< int> - 停止播放流
-
stopPushStreaming(
) → Future< int> - 停止推流
-
stopRemuxFlvToMp4(
) → Future< int> - 停止将flv转码为mp4 @since V5.6.50 @return
-
stopScreenCapture(
) → Future< int> - 关闭屏幕共享。
-
stopVideoPreview(
{int streamType = NERtcVideoStreamType.main}) → Future< int> - 停止视频预览。 通过本接口可以实现在预览本地视频后关闭预览。
-
subscribeAllRemoteAudio(
bool subscribe) → Future< int> - 订阅或取消订阅所有远端用户的音频主流。 (后续加入的用户也同样生效)
-
subscribeRemoteAudio(
int uid, bool subscribe) → Future< int> - 订阅或取消订阅指定远端用户的音频主流。
-
subscribeRemoteData(
int uid, bool subscribe) → Future< int> - 订阅远端数据
-
subscribeRemoteSubStreamAudio(
int uid, bool subscribe) → Future< int> - 设置是否订阅指定远端用户的音频辅流。
-
subscribeRemoteSubStreamVideo(
int uid, bool subscribe) → Future< int> - 订阅或取消订阅远端用户的视频辅流。
-
subscribeRemoteVideoStream(
int uid, int streamType, bool subscribe) → Future< int> - 订阅或取消订阅指定远端用户的视频主流。
-
switchChannel(
String? token, String channelName, {NERtcJoinChannelOptions? channelOptions}) → Future< int> - 快速切换音视频房间。
-
takeLocalSnapshot(
int streamType, String path) → Future< int> - 截取本地主流或本地辅流的视频画面。
-
takeRemoteSnapshot(
int uid, int streamType, String path) → Future< int> - 远端视频画面截图。 调用 takeRemoteSnapshot 截取指定 uid 远端主流和远端辅流的视频画面,并通过 NERtcChannelEventCallback.onTakeSnapshotResult 回调返回截图画面的数据。
-
toString(
) → String -
A string representation of this object.
inherited
-
updateChannelMediaRelay(
NERtcChannelMediaRelayConfiguration config) → Future< int> - 更新媒体流转发的目标房间。
-
updateLiveStreamTask(
NERtcLiveStreamTaskInfo taskInfo) → Future< int> - 更新房间内指定推流任务。通过此接口可以实现调整指定推流任务的编码参数、画布布局、推流模式等。
-
updateLocalRecorderStreamLayoutForTask(
List< NERtcLocalRecordingStreamInfo> infos, String taskId) → Future<int> -
更新指定用户的指定流的录制流布局
@since V5.6.40
infos录制流布局配置数组taskId录制任务 ID @return -
updateLocalRecorderWaterMarksForTask(
List< NERtcVideoWatermarkConfig> watermarks, String taskId) → Future<int> -
更新录制文件水印
@since V5.9.5
watermarks水印配置数组taskId录制任务 ID @return -
updatePermissionKey(
String key) → Future< int> - 更新权限密钥。
-
updateSelfPosition(
NERtcPositionInfo positionInfo) → Future< int> -
uploadSdkInfo(
) → Future< int> - 上传SDK日志信息。上传的信息包括 log 和 Audio dump 等文件。
-
version(
) → Future< NERtcVersion> - NERtc SDK版本号
Operators
-
operator ==(
Object other) → bool -
The equality operator.
inherited
Static Properties
- instance → NERtcEngine
-
获取全局唯一的 NERTC 实例
no setter