NERtcEngine class abstract

NERtc 核心接口

Constructors

NERtcEngine()

Properties

audioEffectManager NERtcAudioEffectManager
获取音效管理模块
no setter
audioMixingManager NERtcAudioMixingManager
获取混音管理模块
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>
添加房间内推流任务。成功添加后当前用户可以收到该直播流的状态通知。通话中有效。
adjustLoopBackRecordingSignalVolume(int volume) Future<int>
调整共享音频音量。
adjustPlaybackSignalVolume(int volume) Future<int>
调节本地播放的所有远端用户的信号音量。
adjustRecordingSignalVolume(int volume) Future<int>
调节采集信号音量。
adjustUserPlaybackSignalVolume(int uid, int volume) Future<int>
调节本地播放的指定远端用户的信号音量。
checkPermission() Future<List<String?>?>
检查音视频相关的多媒体设备权限。
create({required String appKey, required NERtcChannelEventCallback channelEventCallback, NERtcOptions? options}) Future<int>
创建 NERtc 实例
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>
开启或关闭本地音频的采集和发送。 通过本接口可以实现开启或关闭本地语音功能,进行本地音频采集及处理。
enableLocalSubStreamAudio(bool enable) Future<int>
开启或关闭音频辅流。
enableLocalVideo(bool enable, {int streamType = NERtcVideoStreamType.main}) Future<int>
开启或关闭本地视频的采集与发送。
enableLoopbackRecording(bool enable) Future<int>
开启或关闭音频共享.
enableMediaPub(int mediaType, bool enable) Future<int>
开启或关闭本地媒体流(主流)的发送。 该方法用于开始或停止向网络发送本地音频或视频数据。
enableSuperResolution(bool enable) Future<int>
启用或停止 AI 超分。
enableVideoCorrection(bool enable) Future<int>
是否启用视频图像畸变矫正。
enableVirtualBackground(bool enabled, NERtcVirtualBackgroundSource? backgroundSource) Future<int>
开启/关闭虚拟背景。 启用虚拟背景功能后,您可以使用自定义背景图片替换本地用户的原始背景图片。 替换后,频道内所有用户都可以看到自定义背景图片。
getConnectionState() Future<int>
获取当前房间连接状态。
getEffectDuration(int effectId) Future<int>
获取音效文件时长。
getNtpTimeOffset() Future<int>
获取本地系统时间与服务端时间差值。
joinChannel(String? token, String channelName, int uid, [NERtcJoinChannelOptions? channelOptions]) Future<int>
加入音视频房间。
leaveChannel() Future<int>
离开音视频房间。 通过本接口可以实现挂断或退出通话,并释放本房间内的相关资源。
muteLocalAudioStream(bool mute) Future<int>
开启或关闭本地音频的采集和发送。 该方法用于向网络发送或取消发送本地音频数据,不影响本地音频的采集状态,也不影响接收或播放远端音频流。
muteLocalSubStreamAudio(bool muted) Future<int>
静音或解除静音本地上行的音频辅流。
muteLocalVideoStream(bool mute, {int streamType = NERtcVideoStreamType.main}) Future<int>
取消或恢复发布本端视频主流。
noSuchMethod(Invocation invocation) → dynamic
Invoked when a nonexistent method or property is accessed.
inherited
pushExternalVideoFrame(NERtcVideoFrame frame, {int streamType = NERtcVideoStreamType.main}) Future<int>
推送外部视频帧。
release() Future<int>
销毁 NERtc实例,释放资源
removeBeautyFilter() Future<void>
取消滤镜效果。
removeEventCallback(NERtcChannelEventCallback callback) → void
移除channel事件回调
removeLiveStreamTask(String taskId) Future<int>
删除房间内指定推流任务。
removeLiveTaskEventCallback(NERtcLiveTaskCallback callback) → void
移除房间推流任务事件回调
removeStatsEventCallback(NERtcStatsEventCallback callback) → void
移除统计信息观测回调
reportCustomEvent(String eventName, String? customIdentify, Map<String?, Object?>? param) Future<int>
用户自定义上报事件。
sendSEIMsg(String seiMsg, {int streamType = NERtcVideoStreamType.main}) Future<int>
指定主流或辅流通道发送媒体增强补充信息(SEI)。 在本端推流传输视频流数据同时,发送流媒体补充增强信息来同步一些其他附加信息。
setAudioEffectPreset(int preset) Future<int>
设置 SDK 预设的人声的变声音效。
setAudioProfile(NERtcAudioProfile profile, NERtcAudioScenario 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事件回调
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>
设置本地语音混响效果
setParameters(NERtcParameters params) Future<int>
设置音视频通话的相关参数。 此接口提供技术预览或特别定制功能,详情请咨询技术支持
setRemoteHighPriorityAudioStream(bool enabled, int uid, {int streamType}) Future<int>
设置远端用户音频流的高优先级。 支持在音频自动订阅的情况下,设置某一个远端用户的音频为最高优先级,可以优先听到该用户的音频
setRemoteSubscribeFallbackOption(int option) Future<int>
设置弱网条件下订阅的音视频流回退选项。
setStatsEventCallback(NERtcStatsEventCallback callback) → void
注册统计信息观测器,设置统计信息回调
setStreamAlignmentProperty(bool enable) Future<int>
开启精准对齐。 通过此接口可以实现精准对齐功能,对齐本地系统与服务端的时间。
setVideoCorrectionConfig(NERtcVideoCorrectionConfiguration? config) Future<int>
设置视频图像矫正参数。
setVoiceBeautifierPreset(int preset) Future<int>
设置 SDK 预设的美声效果。
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() Future<int>
开启美颜功能模块。
startChannelMediaRelay(NERtcChannelMediaRelayConfiguration config) Future<int>
开始跨房间媒体流转发。
startLastmileProbeTest(LastmileProbeConfig config) Future<int>
开始通话前网络质量探测。 启用该方法后,SDK 会通过回调方式反馈上下行网络的质量状态与质量探测报告,包括带宽、丢包率、网络抖动和往返时延等数据。一般用于通话前的网络质量探测场景,用户加入房间之前可以通过该方法预估音视频通话中本地用户的主观体验和客观网络状态。 相关回调如下:
startScreenCapture(NERtcScreenConfig config) Future<int>
开启屏幕共享。
startVideoPreview({int streamType = NERtcVideoStreamType.main}) Future<int>
开启视频预览。 通过本接口可以实现在加入房间前启动本地视频预览,支持预览本地摄像头或外部输入视频。
stopAudioDump() Future<int>
结束音频Dump。
stopAudioRecording() Future<int>
停止客户端本地录音。
stopBeauty() Future<void>
结束美颜功能模块。 通过此接口实现关闭美颜功能模块后,SDK 会自动销毁美颜引擎并释放资源。
stopChannelMediaRelay() Future<int>
停止跨房间媒体流转发。
stopLastmileProbeTest() Future<int>
停止通话前网络质量探测。
stopScreenCapture() Future<int>
关闭屏幕共享。
stopVideoPreview({int streamType = NERtcVideoStreamType.main}) Future<int>
停止视频预览。 通过本接口可以实现在预览本地视频后关闭预览。
subscribeAllRemoteAudio(bool subscribe) Future<int>
订阅或取消订阅所有远端用户的音频主流。 (后续加入的用户也同样生效)
subscribeRemoteAudio(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>
更新房间内指定推流任务。通过此接口可以实现调整指定推流任务的编码参数、画布布局、推流模式等。
updatePermissionKey(String key) 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