NERtc iOS SDK V5.6.20
载入中...
搜索中...
未找到
类方法 | 所有成员列表
NERtcEngine类 参考

NERtcEngine更多...

#include <NERtcEngine.h>

类 NERtcEngine 继承关系图:
<INERtcEngineEx> <INERtcEngine>

类方法

(instancetype) + sharedEngine
 获取 NERtcEngine 实例
获取之后一直到调用 destroyEngine 之前,返回的实例都将是同一个
 
(int) + destroyEngine
 销毁 NERtcEngine 实例,并释放资源。
该方法释放 NERTC SDK 使用的所有资源。有些 App 只在用户需要时才进行实时音视频通信,完成音视频通话后,则将资源释放出来用于其他操作,该方法适用于此类情况。
 
(NSString *) + getVersion
 查询 SDK 版本号, 该方法在加入房间前后都能调用
 

额外继承的成员函数

- 构造函数 继承自 <INERtcEngineEx>
(int) - enableDualStreamMode:
 设置是否开启视频大小流模式。
通过本接口可以实现设置单流或者双流模式。发送端开启双流模式后,接收端可以选择接收大流还是小流。其中,大流指高分辨率、高码率的视频流,小流指低分辨率、低码率的视频流。
 
(int) - setLocalMediaPriority:preemptive:
 设置本地用户的媒体流优先级。
通过此接口可以实现设置某用户的媒体流优先级为高,从而弱网环境下 SDK 会优先保证其他用户收到的该用户媒体流的质量。
 
(int) - setLocalPublishFallbackOption:
 设置弱网条件下发布的音视频流回退选项。
在网络不理想的环境下,发布的音视频质量都会下降。使用该接口并将 option 设置为 kNERtcStreamFallbackOptionAudioOnly 后:
 
(int) - setRemoteSubscribeFallbackOption:
 设置弱网条件下订阅的音视频流回退选项。
弱网环境下,订阅的音视频质量会下降。通过该接口设置订阅音视频流的回退选项后:
 
(int) - muteLocalAudio:
 开启或关闭本地音频主流的发送。
该方法用于向网络发送或取消发送本地音频数据,不影响本地音频的采集状态,也不影响接收或播放远端音频流。
 
(int) - subscribeRemoteAudio:forUserID:
 取消或恢复订阅指定远端用户的音频主流。
加入房间时,默认订阅所有远端用户的音频主流,您也可以通过此方法取消或恢复订阅指定远端用户的音频主流。
 
(int) - subscribeAllRemoteAudio:
 取消或恢复订阅所有远端用户的音频主流。
加入房间时,默认订阅所有远端用户的音频主流,即 INERtcEngine#setParameters: 方法的 kNERtcKeyAutoSubscribeAudio 参数默认设置为 YES;只有当该参数的设置为 NO 时,此接口的调用才会生效。
 
(int) - setAudioSubscribeOnlyBy:
 设置自己的音频只能被房间内指定的人订阅。
默认房间所有其他人都可以订阅自己的音频。
 
(int) - enableLocalSubStreamAudio:
 开启或关闭音频辅流。
开启时远端会收到 NERtcChannelDelegate#onNERtcChannelUserSubStreamAudioDidStart: 回调,关闭时远端会收到 NERtcChannelDelegate#onNERtcChannelUserSubStreamAudioDidStop: 回调。
 
(int) - subscribeRemoteSubStreamAudio:forUserID:
 设置是否订阅指定远端用户的音频辅流。
 
(int) - muteLocalSubStreamAudio:
 静音或解除静音本地上行的音频辅流。
 
(int) - setExternalSubStreamAudioSource:sampleRate:channels:
 开启或关闭外部音频辅流数据源输入。
通过本接口可以实现创建自定义的外部音频源,并通过辅流通道传输该外部音频源的数据。
 
(int) - pushExternalSubStreamAudioFrame:
 推送外部音频辅流数据帧。
将外部音频辅流帧数据帧主动推送给内部引擎。通过 INERtcEngineEx.enableLocalSubStreamAudio: 启用音频辅流后,可以调用此接口发送音频辅流 PCM 数据。
 
(int) - subscribeRemoteVideo:forUserID:streamType:
 订阅或取消订阅指定远端用户的视频主流。
加入房间后,默认不订阅所有远端用户的视频主流;若您希望看到指定远端用户的视频,可以在监听到对方加入房间或发布视频流之后,通过此方法订阅该用户的视频主流。
 
(int) - startPreview
 开启视频预览。
通过本接口可以实现在加入房间前启动本地视频预览,支持预览本地摄像头或外部输入视频。
 
(int) - startPreview:
 开启视频预览。
通过本接口可以实现在加入房间前启动本地视频预览,支持预览本地摄像头或外部输入视频。
 
(int) - stopPreview
 停止视频预览。
通过此接口可以实现在预览本地视频后关闭预览。
 
(int) - stopPreview:
 停止视频预览。
通过本接口可以实现在预览本地视频后关闭预览。
 
(int) - setLocalRenderScaleMode:
 设置画布中本地视频画面的显示模式。
通过本接口可以实现设置本地视频画面的适应性,即是否裁剪或缩放。
 
(int) - setRemoteRenderScaleMode:forUserID:
 设置画布中远端视频画面的显示模式。
通过本接口可以实现设置远端视频画面的适应性,即是否裁剪或缩放。
 
(int) - setVideoRotationMode:
 设置本地视频画面的旋转模式。
该接口用于设置本地视频画面在本地和远端设备上的旋转模式,可以指定本地画面和系统设备的横屏/竖屏模式一致、或者和 App UI 的横屏/竖屏模式一致。
 
(int) - muteLocalVideo:
 取消或恢复发布本端视频主流。
调用该方法取消发布本地视频主流后,SDK 不再发送本地视频主流。
 
(int) - muteLocalVideo:streamType:
 取消或恢复发布本地视频。
调用该方法取消发布本地视频主流或辅流后,SDK 不再发送本地视频流。
 
(int) - setLoudspeakerMode:
 设置是否由扬声器播放声音。
通过本接口可以实现设置是否将语音路由到扬声器,即设备外放。
 
(int) - getLoudspeakerMode:
 检查扬声器状态启用状态。
 
(int) - startAudioDump
 开始记录音频 dump。
音频 dump 可用于分析音频问题。
 
(int) - startAudioDumpWithType:
 开始进行音频 dump。
 
(int) - stopAudioDump
 结束记录音频 dump。
 
(int) - setRemoteHighPriorityAudioStream:forUserID:streamType:
 设置远端用户音频流的高优先级。 支持在音频自动订阅的情况下,设置某一个远端用户的音频为最高优先级,可以优先听到该用户的音频。
 
(int) - switchCameraWithPosition:
 指定前置/后置摄像头。
该方法需要在相机启动后调用,例如调用 startPreview 或 joinChannel 后。
 
(int) - updatePermissionKey:
 更新权限密钥。
 
(BOOL) - isFeatureSupportedWithType:
 查询当前设备是否支持 SDK 中的某项功能
 
(int) - setExternalVideoSource:isScreen:
 开启或关闭外部视频源数据输入。
通过本接口可以实现创建自定义的外部视频源,并通过主流通道传输该外部视频源的数据。
 
(int) - setExternalVideoSource:streamType:
 开启或关闭外部视频源数据输入。
通过本接口可以实现创建自定义的外部视频源,您可以选择通过主流或辅流通道传输该外部视频源的数据,但暂不支持同时开启。
 
(int) - pushExternalVideoFrame:
 推送外部视频帧。
该方法主动将视频帧数据用 NERtcVideoFrame 类封装后传递给 SDK。
 
(int) - pushExternalVideoFrame:streamType:
 推送外部视频帧。
该方法主动将视频帧数据用 NERtcVideoFrame 类封装后传递给 SDK。
 
(int) - setupLocalSubStreamVideoCanvas:
 设置本端用户的视频辅流画布。
通过此接口可以实现设置本端用户的辅流显示视图。
 
(int) - startScreenCapture:
 开启屏幕共享。
通过此接口开启屏幕共享后,屏幕共享内容以视频辅流的形式发送。
 
(int) - stopScreenCapture
 关闭屏幕共享。
通过此接口可以实现关闭屏幕共享辅流。
 
(int) - setLocalRenderSubStreamScaleMode:
 设置画布中本地屏幕共享辅流视频画面的显示模式。
通过本接口可以实现设置本地发布的屏幕共享视频画面的适应性,即是否裁剪或缩放。
 
(int) - setupRemoteSubStreamVideoCanvas:forUserID:
 设置远端用户的视频辅流画布。
通过此接口可以实现绑定远端用户和对应辅流的显示视图,即指定某个 uid 使用对应的画布显示。
 
(int) - subscribeRemoteSubStreamVideo:forUserID:
 订阅或取消订阅远端用户的视频辅流。
 
(int) - setRemoteRenderSubStreamVideoScaleMode:forUserID:
 设置画布中远端屏幕共享视频画面的显示模式。
通过本接口可以实现设置远端发布的屏幕共享视频画面的适应性,即是否裁剪或缩放。
 
(int) - setAudioSessionOperationRestriction:
 设置 SDK 对 Audio Session 的控制权限。
该方法仅适用于 iOS 平台。
该方法限制 SDK 对 Audio Session 的操作权限。在默认情况下,SDK 和 App 对 Audio Session 都有控制权,但某些场景下,App 会希望限制 SDK 对 Audio Session 的控制权限,而使用其他应用或第三方组件对 Audio Session 进行操控。调用该方法可以实现该功能。
该接口只能在入会之前调用。
 
(int) - setPlayoutDeviceMute:
 设置是否静音音频播放设备。
 
(int) - getPlayoutDeviceMute:
 获取音频播放设备的静音状态。
 
(int) - setRecordDeviceMute:
 设置是否静音音频采集设备。
 
(int) - getRecordDeviceMute:
 查询当前音频采集设备是否静音。
 
(BOOL) - isCameraZoomSupported
 检测设备当前使用的摄像头是否支持缩放功能。
该方法需要在相机启动后调用,例如调用 startPreview 或 joinChannel 后。
 
(BOOL) - isCameraTorchSupported
 检测设备是否支持闪光灯常亮。
 
(BOOL) - isCameraFocusSupported
 检测设备是否支持手动对焦功能。
 
(BOOL) - isCameraExposurePositionSupported
 检测设备是否支持手动曝光功能。
 
(int) - setCameraExposurePosition:
 设置摄像头的手动曝光位置。
通过此接口实现设置摄像头的手动曝光位置前,建议先通过 INERtcEngineEx#isCameraExposurePositionSupported 接口检测设备是否支持手动曝光功能。
 
(int) - setCameraTorchOn:
 设置是否打开闪光灯。
 
(BOOL) - isCameraTorchOn
 查询设备是否开启了闪光灯。
 
(int) - setCameraZoomFactor:
 设置摄像头缩放比例。
通过此接口实现设置摄像头缩放比例前,建议先通过 INERtcEngineEx#maxCameraZoomScale 接口查看摄像头支持的最大缩放比例,并根据实际需求合理设置需要的缩放比例。
 
(float) - maxCameraZoomScale
 获取摄像头支持最大缩放比例。
 
(int) - setCameraFocusPositionX:Y:
 设置摄像头的手动曝光位置。
通过此接口实现设置摄像头的手动曝光位置前,建议先通过 INERtcEngineEx#isCameraFocusSupported 接口检测设备是否支持手动曝光功能。
 
(int) - setCameraCaptureConfig:
 设置本地摄像头的视频主流采集配置。
通过此接口可以设置本地摄像头采集的主流视频宽度、高度、旋转角度等。
 
(int) - setCameraCaptureConfig:streamType:
 设置本地摄像头的视频主流或辅流采集配置。
通过此接口可以设置本地摄像头采集的主流或辅流视频宽度、高度、旋转角度等。
 
(int) - startAudioMixingWithOption:
 开启伴音。
通过本接口可以实现指定本地或在线音频文件和录音设备采集的音频流进行混音。
 
(int) - stopAudioMixing
 停止伴音。
通过本接口可以实现停止播放本地或在线音频文件,或者录音设备采集的混音音频流。
 
(int) - pauseAudioMixing
 暂停伴音。
通过此接口可以实现暂停播放伴音文件。
 
(int) - resumeAudioMixing
 恢复伴音。
通过此接口可以实现恢复播放伴音文件。
 
(int) - setAudioMixingSendVolume:
 设置伴奏的发送音量。
 
(int) - getAudioMixingSendVolume:
 获取伴奏发送音量。
该方法获取混音里伴奏的发送音量大小。请在房间内调用该方法。
 
(int) - setAudioMixingPlaybackVolume:
 调节伴奏播放音量。
该方法调节混音里伴奏的播放音量大小。请在房间内调用该方法。
 
(int) - getAudioMixingPlaybackVolume:
 获取伴奏播放音量。
该方法获取混音里伴奏的播放音量大小。请在房间内调用该方法。
 
(int) - getAudioMixingDuration:
 获取伴奏时长。
该方法获取伴奏时长,单位为毫秒。请在房间内调用该方法。
 
(int) - getAudioMixingCurrentPosition:
 获取音乐文件的播放进度。
该方法获取当前伴奏播放进度,单位为毫秒。请在房间内调用该方法。
 
(int) - setAudioMixingPosition:
 设置音乐文件的播放位置。
该方法可以设置音频文件的播放位置,这样您可以根据实际情况播放文件,而非从头到尾播放整个文件。
 
(int) - setAudioMixingPitch:
 设置当前伴音文件的音调。
 
(int) - getAudioMixingPitch:
 获取当前伴音文件的音调。
 
(int) - playEffectWitdId:effectOption:
 播放指定音效文件。 通过此接口可以实现播放指定的本地或在线音效文件。
 
(int) - stopEffectWitdId:
 停止播放指定音效文件。
 
(int) - stopAllEffects
 停止播放所有音效文件。 通过此接口可以实现在同时播放多个音效文件时,可以一次性停止播放所有文件(含暂停播放的文件)。
 
(int) - pauseEffectWitdId:
 暂停播放指定音效文件。
请在加入房间后调用该方法。
 
(int) - resumeEffectWitdId:
 恢复播放指定音效文件。
请在加入房间后调用该方法。
 
(int) - pauseAllEffects
 暂停播放所有音效文件。
请在加入房间后调用该方法。
 
(int) - resumeAllEffects
 恢复播放所有音效文件。
请在加入房间后调用该方法。
 
(int) - setEffectSendVolumeWithId:volume:
 设置音效文件发送音量。
请在加入房间后调用该方法。
 
(int) - getEffectSendVolumeWithId:volume:
 获取指定音效文件发送音量。
请在加入房间后调用该方法。
 
(int) - setEffectPlaybackVolumeWithId:volume:
 获取音效文件播放音量。
请在加入房间后调用该方法。
 
(int) - getEffectPlaybackVolumeWithId:volume:
 获取音效的回放音量
 
(int) - getEffectDurationWithId:duration:
 获取音效文件时长。
 
(int) - getEffectCurrentPositionWithId:position:
 获取音效的播放进度。
 
(int) - setEffectPositionWithId:position:
 设置指定音效文件的播放位置。
 
(int) - setEffectPitchWithId:pitch:
 设置指定音效文件的音调。
 
(int) - getEffectPitchWithId:pitch:
 获取指定音效文件的音调。
 
(int) - enableEarback:volume:
 设置是否开启耳返功能。

 
(int) - setEarbackVolume:
 设置耳返音量。
 
(int) - startAudioRecording:sampleRate:quality:
 开启客户端本地录音。 通过此接口可以实现录制客户端房间内所有用户混音后的音频流,并将其保存在一个本地录音文件中。
 
(int) - startAudioRecordingWithConfig:
 开始客户端录音。 调用该方法后,客户端会录制房间内所有用户混音后的音频流,并将其保存在本地一个录音文件中。录制开始或结束时,自动触发 onAudioRecording() 回调。 指定的录音音质不同,录音文件会保存为不同格式:
 
(int) - stopAudioRecording
 停止客户端本地录音。 本端用户离开房间时会自动停止本地录音,也可以通过此接口实现在通话过程中随时停止录音。
 
(int) - setExternalAudioSource:sampleRate:channels:
 开启或关闭外部音频源数据输入。
通过本接口可以实现创建自定义的外部音频源,并通过主流通道传输该外部音频源的数据。
 
(int) - pushExternalAudioFrame:
 推送外部音频帧。
将外部音频数据帧推送给内部引擎。 通过 setExternalAudioSource 启用外部音频数据输入功能成功后,可以使用 pushExternalAudioFrame 接口发送音频 PCM 数据。
 
(int) - setExternalAudioRender:sampleRate:channels:
 设置外部音频渲染。
通过此接口可以实现启用外部音频渲染,并设置音频渲染的采样率、声道数等。
 
(int) - pullExternalAudioFrame:length:
 拉取外部音频数据。
该方法将从内部引擎拉取音频数据。 通过 setExternalAudioRender 启用外部音频数据渲染功能成功后,可以使用 pullExternalAudioFrame 接口获取音频 PCM 数据。
 
(int) - setRangeAudioMode:
 设置玩家本人在房间中的范围语音模式,该设置不影响其他人。
 
(int) - setRangeAudioTeamID:
 设置范围语音的小队 ID。
 
(int) - setAudioRecvRange:conversationalDistance:rollOff:
 设置空间音效的距离衰减属性和语音范围。
 
(int) - updateSelfPosition:
 设置空间音效中说话者和接收者的空间位置信息。SDK 会根据该方法中的参数计算接收者和说话者之间的相对位置,进而渲染出空间音效。
 
(int) - enableSpatializerRoomEffects:
 开启或关闭空间音效的房间混响效果
 
(int) - setSpatializerRoomProperty:
 设置空间音效的房间混响属性
 
(int) - setSpatializerRenderMode:
 设置空间音效的渲染模式
 
(int) - initSpatializer
 初始化引擎 3D 音效算法
 
(int) - enableSpatializer:applyToTeam:
 开启或关闭空间音效
 
(int) - setSubscribeAudioBlocklist:uidArray:
 您可以调用该方法指定不订阅的音频流。
 
(int) - setSubscribeAudioAllowlist:
 您可以调用该方法指定只订阅的音频流。
 
(int) - enableLocalData:
 开启或关闭本地数据通道。
 
(int) - subscribeRemoteData:forUserID:
 取消或恢复订阅指定远端用户数据通道流。
加入房间时,默认订阅所有远端用户的数据通道流,您可以通过此方法取消或恢复订阅指定远端用户的数据通道流。
 
(int) - sendData:
 通过数据通道发送数据。
 
(int) - addEngineMediaStatsObserver:
 注册媒体统计信息观测器。
 
(int) - removeEngineMediaStatsObserver:
 移除指定媒体统计信息观测器。
 
(int) - cleanupEngineMediaStatsObserver
 清除全部媒体统计信息观测器。
 
(int) - addLiveStreamTask:compeltion:
 添加房间内推流任务。 通过此接口可以实现增加一路旁路推流任务;若需推送多路流,则需多次调用该方法。
 
(int) - updateLiveStreamTask:compeltion:
 更新房间内指定推流任务。 通过此接口可以实现调整指定推流任务的编码参数、画布布局、推流模式等。
 
(int) - removeLiveStreamTask:compeltion:
 删除房间内指定推流任务。
 
(int) - setRecordingAudioFrameParameters:
 设置采集的音频格式。
通过本接口可以实现设置 NERtcEngineAudioFrameObserver#onNERtcEngineAudioFrameDidRecord: 回调的录制声音格式。
 
(int) - setPlaybackAudioFrameParameters:
 设置音频播放回调的声音格式。
通过此接口可以实现设置 SDK 播放音频 PCM 回调 NERtcEngineAudioFrameObserver#onNERtcEngineAudioFrameWillPlayback: 的采样率及声道数,同时还可以设置读写模式。在写模式下,您可以通过 NERtcEngineAudioFrameObserver#onNERtcEngineAudioFrameWillPlayback: 回调修改 PCM 数据,后续将播放修改后的音频数据。
 
(int) - setMixedAudioFrameParameters:
 设置采集和播放声音混音后的音频数据格式。
通过本接口可以实现设置 NERtcEngineAudioFrameObserver#onNERtcEngineMixedAudioFrame: 回调的混音音频格式。
 
(int) - setAudioFrameObserver:
 注册语音观测器对象。
通过此接口可以设置音频采集/播放 PCM 回调,可用于声音处理等操作。
 
(int) - setVideoFrameObserver:
 注册视频数据观察对象 通过此接口可以设置视频数据采集回调对象,可以用于第三方美颜等操作
 
(int) - enableAudioVolumeIndication:interval:
 启用说话者音量提示。
通过此接口可以实现允许 SDK 定期向 App 反馈房间内发音频流的用户和瞬时音量最高的远端用户(最多 3 位,包括本端)的音量相关信息,即当前谁在说话以及说话者的音量。
 
(int) - enableAudioVolumeIndication:interval:vad:
 启用说话者音量提示。
通过此接口可以实现允许 SDK 定期向 App 反馈房间内发音频流的用户和瞬时音量最高的远端用户(最多 3 位,包括本端)的音量相关信息,即当前谁在说话以及说话者的音量。
 
(int) - adjustRecordingSignalVolume:
 调节采集信号音量。 通过本接口可以实现设置录制声音的信号幅度,从而达到调节采集音量的目的。
 
(int) - adjustPlaybackSignalVolume:
 调节本地播放的所有远端用户的信号音量。
通过此接口可以实现调节所有远端用户在本地播放的混音音量。
 
(int) - adjustUserPlaybackSignalVolume:forUserID:
 调节本地播放的指定远端用户的信号音量。
通过此接口可以实现在通话过程中随时调节指定远端用户在本地播放的混音音量。
 
(int) - adjustChannelPlaybackSignalVolume:
 调节本地播放的指定房间的所有远端用户的信号音量。
通过此接口可以实现在通话过程中随时调节本地播放的指定房间内所有用户的混音音量。
 
(int) - setLocalVoicePitch:
 设置本地语音音调。
该方法改变本地说话人声音的音调。
 
(int) - setLocalVoiceEqualizationOfBandFrequency:withGain:
 设置本地语音音效均衡,即自定义设置本地人声均衡波段的中心频率。
 
(int) - setVoiceBeautifierPreset:
 预设美声效果。 通过此接口可以实现为本地发流用户设置 SDK 预设的人声美声效果。
 
(int) - setAudioEffectPreset:
 预设变声效果。
通过此接口可以实现将人声原音调整为多种特殊效果,改变声音特性。
 
(int) - setLocalVoiceReverbParam:
 设置本地语音混响效果。
 
(int) - setLocalVideoWatermarkConfigs:withStreamType:
 设置视频水印。水印在本地预览及发送过程中均生效。
 
(int) - takeLocalSnapshot:callback:
 本地视频画面截图。
调用 takeLocalSnapshot 截取本地主流或本地辅流的视频画面,并通过 NERtcTakeSnapshotCallback 的回调返回截图画面的数据。
 
(int) - takeRemoteSnapshot:forUserID:callback:
 远端视频画面截图。
调用 takeRemoteSnapshot 截取指定 uid 远端主流和远端辅流的视频画面,并通过 NERtcTakeSnapshotCallback 的回调返回截图画面的数据。
 
(int) - uploadSdkInfo
 上传 SDK 信息。
上传的信息包括 log 和 Audio dump 等文件。
 
(int) - reportCustomEvent:customIdentify:param:
 上报自定义事件
 
(int) - sendSEIMsg:streamChannelType:
 指定主流或辅流通道发送媒体增强补充信息(SEI)。
在本端推流传输音视频流数据同时,发送流媒体补充增强信息来同步一些其他附加信息。当推流方发送 SEI 后,拉流方可通过监听 onRecvSEIMsg 的回调获取 SEI 内容。
 
(int) - sendSEIMsg:
 通过主流通道发送媒体增强补充信息(SEI)。
在本端推流传输音视频流数据同时,发送流媒体补充增强信息来同步一些其他附加信息。当推流方发送 SEI 后,拉流方可通过监听 onRecvSEIMsg 的回调获取 SEI 内容。
 
(int) - startChannelMediaRelay:
 开始跨房间媒体流转发。
 
(int) - updateChannelMediaRelay:
 更新媒体流转发的目标房间。
成功开始跨房间转发媒体流后,如果您希望将流转发到多个目标房间,或退出当前的转发房间,可以调用该方法。
 
(int) - stopChannelMediaRelay
 停止跨房间媒体流转发。
通常在主播离开房间时,跨房间媒体流转发会自动停止;您也可以根据需要随时调用该方法,此时主播会退出所有目标房间。
 
(int) - enableSuperResolution:
 启用或停止 AI 超分。
 
(int) - enableEncryption:config:
 开启或关闭媒体流加密。
 
(int) - startLastmileProbeTest:
 开始通话前网络质量探测。
启用该方法后,SDK 会通过回调方式反馈上下行网络的质量状态与质量探测报告,包括带宽、丢包率、网络抖动和往返时延等数据。一般用于通话前的网络质量探测场景,用户加入房间之前可以通过该方法预估音视频通话中本地用户的主观体验和客观网络状态。
相关回调如下:
 
(int) - stopLastmileProbeTest
 停止通话前网络质量探测。
 
(nullable NERtcChannel *) - createChannel:
 创建一个 IRtcChannel 对象
 
(int) - enableVideoCorrection:
 是否启用视频图像畸变矫正。
 
(int) - setVideoCorrectionConfig:
 设置视频图像矫正参数。
 
(int) - enableVirtualBackground:backData:
 开启/关闭虚拟背景。
启用虚拟背景功能后,您可以使用自定义背景图片替换本地用户的原始背景图片。
替换后,频道内所有用户都可以看到自定义背景图片。
 
(int) - setCloudProxy:
 开启并设置云代理服务。
在内网环境下,如果用户防火墙开启了网络限制,请参考《使用云代理》将指定 IP 地址和端口号加入防火墙白名单,然后调用此方法开启云代理,并将 proxyType 参数设置为 NERtcTransportTypeUDPProxy(1),即指定使用 UDP 协议的云代理。
 
(void) - setStreamAlignmentProperty:
 开启精准对齐。 通过此接口可以实现精准对齐功能,对齐本地系统与服务端的时间。
 
(int64_t) - getNtpTimeOffset
 获取本地系统时间与服务端时间差值。
可以用于做时间对齐,通过 (毫秒级系统时间 - offset) 可能得到当前服务端时间。
 
(int) - setPreDecodeObserver:
 注册解码前媒体数据观测器。
 
(int) - setVideoEncoderQosObserver:
 注册视频编码 QoS 信息监听器。
 
(int) - pushExternalAudioEncodedFrame:
 推送外部音频主流编码帧。
 
(int) - pushExternalSubStreamAudioEncodedFrame:
 推送外部音频辅流编码帧。
 
(int) - pushExternalVideoEncodedFrame:
 推送外部视频编码帧。
 
(int) - pushExternalSubStreamVideoEncodedFrame:
 推送外部视频编码帧。
 
(int) - startPushStreaming:
 开始推流。
通过本接口可以实现将 RTMP 流推到指定的地址。
 
(int) - stopPushStreaming
 停止推流。
通过此接口可以停止当前正在进行的 rtmp 推流。
 
- 构造函数 继承自 <INERtcEngine>
(NERtcConnectionStateType- connectionState
 获取当前房间连接状态。
 
(int) - setupEngineWithContext:
 创建 NERtc 实例。
通过本接口可以实现创建 NERtc 实例并初始化 NERTC SDK 服务。
 
(int) - setEngineEventDelegate:
 设置 SDK 主回调,调用此方法后会更新之前 setupEngineWithContext 及 setEngineEventDelegate 设置的回调。 如果设置为空指针, 那么表示清空回调。 注意: 需要在初始化之后调用, destroyEngine 之后自动失效。
 
(int) - setDelegateQueue:
 设置驱动 NERtcEngineDelegateEx 事件回调队列
 
(int) - joinChannelWithToken:channelName:myUid:completion:
 加入音视频房间。
通过本接口可以实现加入音视频房间,加入房间后可以与房间内的其他用户进行音视频通话。
 
(int) - joinChannelWithToken:channelName:myUid:channelOptions:completion:
 加入音视频房间。
通过本接口可以实现加入音视频房间,加入房间后可以与房间内的其他用户进行音视频通话。
 
(int) - leaveChannel
 离开音视频房间。
通过本接口可以实现挂断或退出通话,并释放本房间内的相关资源。
 
(int) - switchChannelWithToken:channelName:completion:
 快速切换音视频房间。 通过此接口可以实现当房间场景为直播场景时,用户从当前房间快速切换至另一个房间。
 
(int) - switchChannelWithToken:channelName:channelOptions:completion:
 快速切换音视频房间。
房间场景为直播场景时,房间中角色为观众的成员可以调用该方法从当前房间快速切换至另一个房间。
成功调用该方切换房间后,本端会收到离开房间的回调 onNERtcEngineDidLeaveChannelWithResult;远端用户会收到 onNERtcEngineUserDidLeaveWithUserID 和 onNERtcEngineUserDidJoinWithUserID 的回调。
 
(int) - enableLocalAudio:
 开启/关闭本地音频采集和发送。
通过本接口可以实现开启或关闭本地语音功能,进行本地音频采集及处理。
 
(int) - enableLocalVideo:
 开启或关闭本地视频的采集与发送。
通过本接口可以实现开启或关闭本地视频,不影响接收远端视频。
 
(int) - enableLocalVideo:streamType:
 开启或关闭本地视频的采集与发送。
通过主流或辅流视频通道进行本地视频流的采集与发送。
 
(int) - enableMediaPub:withMediaType:
 开启或关闭本地媒体流(主流)的发送。
该方法用于开始或停止向网络发送本地音频或视频数据。
该方法不影响接收或播放远端媒体流,也不会影响本地音频或视频的采集状态。
 
(int) - setChannelProfile:
 设置房间场景。
通过此接口可以实现设置房间场景为通话(默认)、直播场景、视频 1 对 1 呼叫场景、语聊房场景等。针对不同场景采取的优化策略不同,如通话场景侧重语音流畅度,直播场景侧重视频清晰度。
 
(int) - setLocalVideoConfig:
 设置视频编码属性。
通过此接口可以设置视频主流的编码分辨率、裁剪模式、码率、帧率、带宽受限时的视频编码降级偏好、编码的镜像模式、编码的方向模式参数,详细信息请参考 设置视频属性
 
(int) - setLocalVideoConfig:streamType:
 设置视频编码属性。
通过此接口可以设置视频主流或辅流的编码分辨率、裁剪模式、码率、帧率、带宽受限时的视频编码降级偏好、编码的镜像模式、编码的方向模式参数。
 
(int) - setAudioProfile:scenario:
 设置音频编码属性。
通过此接口可以实现设置音频编码的采样率、码率、编码模式、声道数等,也可以设置音频属性的应用场景,包括聊天室场景、语音场景、音乐场景等。
 
(int) - setAudioProfile:
 设置音频编码属性。
通过此接口可以实现设置音频编码的采样率、码率、编码模式、声道数等。
 
(int) - setAudioScenario:
 设置音频应用场景
通过此接口可以实现设置音频属性的应用场景,包括聊天室场景、语音场景、音乐场景。也可以使用 通过 INERtcEngine#setChannelProfile: 设置其他场景,包括 1v1 呼叫场景、清晰度较高的 1v1 呼叫场景、语聊房场景、清晰度较高的语聊房场景、会议场景。
 
(int) - setupLocalVideoCanvas:
 设置本地用户视图。
通过本接口可以实现绑定本地用户和显示视图,并设置本地用户视图在本地显示时的镜像模式和裁减比例,只影响本地用户看到的视频画面。
 
(int) - setupRemoteVideoCanvas:forUserID:
 设置远端用户视图。
通过本接口可以实现绑定远端用户和显示视图,并设置远端用户视图在本地显示时的镜像模式和裁减比例,只影响本地用户看到的视频画面。
 
(int) - switchCamera
 切换前置或后置摄像头。
 
(int) - setClientRole:
 设置直播场景下的用户角色。
通过本接口可以实现将用户角色在“主播”(kNERtcClientRoleBroadcaster)和“观众“(kNERtcClientRoleAudience)之间的切换,用户加入房间后默认为“主播”。
 
(int) - setParameters:
 设置音视频通话的相关参数。
此接口提供技术预览或特别定制功能,详情请 提交工单 联系网易云信技术支持工程师。
 
(NSString *_Nullable) - getParameter:extraInfo:
 以 String 的形式获取一些内部参数,此接口为隐藏接口,需要特定参数及特定时机,详情请 提交工单 联系网易云信技术支持工程师。
 
- 属性 继承自 <INERtcEngine>
id< NERtcEngineDelegateExengineDelegate
 

详细描述

NERtcEngine

函数文档

◆ destroyEngine

+ (int) destroyEngine

销毁 NERtcEngine 实例,并释放资源。
该方法释放 NERTC SDK 使用的所有资源。有些 App 只在用户需要时才进行实时音视频通信,完成音视频通话后,则将资源释放出来用于其他操作,该方法适用于此类情况。

  • 该接口需要在调用 leaveChannel、并收到本端离开房间的回调后调用。或收到 onNERtcEngineDidDisconnectWithReason: 回调、重连失败时调用此接口销毁实例,并释放资源。
  • 调用 destroyEngine 方法后,您将无法再使用 SDK 的其它方法和回调。如需再次使用实时音视频通话功能,您必须等待 destroyEngine 方法执行结束后,重新创建一个新的 NERtc 实例。
注解
  • 该方法为同步调用,需要等待 NERtcEngine 实例资源释放后才能执行其他操作。
  • 该接口不得在 SDK 的回调中调用,在接口返回前也不允许调用 SDK 的其他任何接口。
  • 如需在销毁后再次创建 NERtcEngine 实例、调用 SDK 接口,需要等待 destroyEngine 方法执行结束后,调用sharedEngine 获取一个新的 NERtcEngine 实例,再调用 setupEngineWithContext 初始化 SDK。

◆ getVersion

+ (NSString *) getVersion

查询 SDK 版本号, 该方法在加入房间前后都能调用

自从
V4.6.10
返回
版本号,格式为字符串,如 1.0.0。

◆ sharedEngine

+ (instancetype) sharedEngine

获取 NERtcEngine 实例
获取之后一直到调用 destroyEngine 之前,返回的实例都将是同一个

返回
NERtcEngine 实例

该类的文档由以下文件生成: