NERtc iOS SDK
V4.6.20
|
NERtcEngine 扩展接口 更多...
#import <INERtcEngineEx.h>
构造函数 | |
(int) | - enableDualStreamMode: |
设置是否开启视频大小流模式。 该方法设置单流或者双流模式。发送端开启双流模式后,接收端可以选择接收大流还是小流。其中,大流指高分辨率、高码率的视频流,小流指低分辨率、低码率的视频流。 更多... | |
(int) | - setLocalMediaPriority:preemptive: |
设置本地用户的媒体流优先级。 如果某个用户的优先级为高,那么该用户媒体流的优先级就会高于其他用户,弱网环境下 SDK 会优先保证其他用户收到的、高优先级用户的媒体流的质量。 更多... | |
(int) | - setLocalPublishFallbackOption: |
设置弱网条件下发布的音视频流回退选项。 在网络不理想的环境下,发布的音视频质量都会下降。使用该接口并将 option 设置为 kNERtcStreamFallbackOptionAudioOnly 后: 更多... | |
(int) | - setRemoteSubscribeFallbackOption: |
设置弱网条件下订阅的音视频流回退选项。 弱网环境下,订阅的音视频质量会下降。通过该接口设置订阅音视频流的回退选项后: 更多... | |
(int) | - muteLocalAudio: |
开启或关闭本地音频主流的发送。 该方法用于向网络发送或取消发送本地音频数据。 该方法不影响接收或播放远端音频流,也不会影响本地音频的采集状态。 更多... | |
(int) | - subscribeRemoteAudio:forUserID: |
取消或恢复订阅指定远端用户音频流。 加入房间时,默认订阅所有远端用户的音频流,您可以通过此方法取消或恢复订阅指定远端用户的音频流。 更多... | |
(int) | - subscribeAllRemoteAudio: |
取消或恢复订阅所有远端用户音频流。 更多... | |
(int) | - setAudioSubscribeOnlyBy: |
设置自己的音频只能被房间内指定的人订阅。 默认房间所有其他人都可以订阅自己的音频。 更多... | |
(int) | - enableLocalSubStreamAudio: |
开启或关闭音频辅流。 开启时远端会收到 NERtcChannelDelegate#onNERtcChannelUserSubStreamAudioDidStart: 回调 ,关闭时远端会收到 NERtcChannelDelegate#onNERtcChannelUserSubStreamAudioDidStop: 回调。 更多... | |
(int) | - subscribeRemoteSubStreamAudio:forUserID: |
取消或恢复订阅指定远端用户音频辅流。 加入房间时,默认订阅所有远端用户的音频流,您可以通过此方法取消或恢复订阅指定远端用户的音频辅流。 更多... | |
(int) | - muteLocalSubStreamAudio: |
静音或解除静音本地上行的音频辅流。 更多... | |
(int) | - setExternalSubStreamAudioSource:sampleRate:channels: |
开启或关闭外部音频辅流输入。 调用成功后可以使用 pushExternalSubStreamAudioFrame: 接口发送音频辅流 PCM 数据。 更多... | |
(int) | - pushExternalSubStreamAudioFrame: |
推送外部音频辅流数据帧。 将外部音频辅流帧数据帧主动推送给内部引擎。通过 INERtcEngineEx.enableLocalSubStreamAudio: 启用音频辅流后,可以调用此接口发送音频辅流 PCM 数据。 更多... | |
(int) | - subscribeRemoteVideo:forUserID:streamType: |
订阅或取消订阅指定远端用户的视频流。 更多... | |
(int) | - startPreview |
开启视频预览。 该方法用于在进入房间前启动本地视频预览。调用该 API 前,必须调用 setupLocalVideoCanvas 设置视频画布。 更多... | |
(int) | - startPreview: |
开启视频预览。 通过本接口可以实现在加入房间前启动本地视频预览,支持预览本地摄像头或外部输入视频。 更多... | |
(int) | - stopPreview |
停止视频预览。 更多... | |
(int) | - stopPreview: |
停止视频预览。 通过本接口可以实现在预览本地视频后关闭预览。 更多... | |
(int) | - setLocalRenderScaleMode: |
设置本端的视频显示模式。 更多... | |
(int) | - setRemoteRenderScaleMode:forUserID: |
设置远端的视频显示模式。 更多... | |
(int) | - setVideoRotationMode: |
设置本地视频画面的旋转模式。 该接口用于设置本地视频画面在本地和远端设备上的旋转模式,可以指定本地画面和系统设备的横屏/竖屏模式一致、或者和 App UI的横屏/竖屏模式一致。 更多... | |
(int) | - muteLocalVideo: |
取消或恢复发布本地视频流。 更多... | |
(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) | - setExternalVideoSource:isScreen: |
开启或关闭外部视频源数据输入。 更多... | |
(int) | - setExternalVideoSource:streamType: |
开启或关闭外部视频源数据输入。 通过本接口可以实现创建自定义的外部视频源,您可以选择通过主流或辅流通道传输该外部视频源的数据,但暂不支持同时开启。 更多... | |
(int) | - pushExternalVideoFrame: |
推送外部视频帧。 该方法主动将视频帧数据用 NERtcVideoFrame 类封装后传递给 SDK。 更多... | |
(int) | - setupLocalSubStreamVideoCanvas: |
设置本地辅流视频画布。 该方法设置本地辅流视频显示信息。App 通过调用此接口绑定本地辅流的显示视窗(view)。 在 App 开发中,通常在初始化后调用该方法进行本地视频设置,然后再加入房间。 更多... | |
(int) | - startScreenCapture: |
开启屏幕共享,屏幕共享内容以辅流形式发送。 只能在加入房间后调用。 如果您在加入房间后调用该方法开启辅流,调用成功后,远端触发 onNERtcEngineUserSubStreamDidStartWithUserID 回调。 更多... | |
(int) | - stopScreenCapture |
关闭辅流形式的屏幕共享。 如果您在加入房间后调用该方法关闭辅流,调用成功后,远端触发 onNERtcEngineUserSubStreamDidStop 回调。 更多... | |
(int) | - setLocalRenderSubStreamScaleMode: |
设置本端的屏幕共享辅流视频显示模式。 在本端开启辅流形式的屏幕共享时使用。App 可以多次调用此方法更改显示模式。 更多... | |
(int) | - setupRemoteSubStreamVideoCanvas:forUserID: |
设置远端的辅流视频画布。 该方法绑定远端用户和辅流显示视图,即指定某个 userID 使用对应的画布显示。 更多... | |
(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: |
设置当前摄像头手动曝光位置。 成功调用该方法后,本地会触发 onCameraExposureChanged 回调。 更多... | |
(int) | - setCameraTorchOn: |
设置是否打开闪光灯。 更多... | |
(BOOL) | - isCameraTorchOn |
查询设备是否开启了闪光灯。 更多... | |
(int) | - setCameraZoomFactor: |
设置当前摄像头缩放比例。 更多... | |
(float) | - maxCameraZoomScale |
获取摄像头支持最大缩放比例。 更多... | |
(int) | - setCameraFocusPositionX:Y: |
设置手动对焦位置。 成功调用该方法后,本地会触发 onNERtcCameraFocusChanged 回调。 更多... | |
(int) | - setCameraCaptureConfig: |
设置本地摄像头的采集偏好等配置。 在视频通话或直播中,SDK 自动控制摄像头的输出参数。默认情况下,SDK 根据用户的 setLocalVideoConfig 配置匹配最合适的分辨率进行采集。但是在部分业务场景中,如果采集画面质量无法满足实际需求,可以调用该接口调整摄像头的采集配置。 更多... | |
(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) | - 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) | - enableEarback:volume: |
开启耳返功能。 更多... | |
(int) | - setEarbackVolume: |
设置耳返音量。 更多... | |
(int) | - startAudioRecording:sampleRate:quality: |
开始客户端录音。 调用该方法后,客户端会录制房间内所有用户混音后的音频流,并将其保存在本地一个录音文件中。录制开始或结束时,自动触发 onAudioRecording() 回调。 指定的录音音质不同,录音文件会保存为不同格式: 更多... | |
(int) | - startAudioRecordingWithConfig: |
开始客户端录音。 调用该方法后,客户端会录制房间内所有用户混音后的音频流,并将其保存在本地一个录音文件中。录制开始或结束时,自动触发 onAudioRecording() 回调。 指定的录音音质不同,录音文件会保存为不同格式: 更多... | |
(int) | - stopAudioRecording |
停止客户端录音。 本端离开房间时自动停止录音,您也可以在通话中随时调用 stopAudioRecording 手动停止录音。 更多... | |
(int) | - setExternalAudioSource:sampleRate:channels: |
开启或关闭外部音频源数据输入。 当该方法调用成功后,音频输入设备选择和异常重启会失效。调用成功后可以使用 pushExternalAudioFrame 接口发送音频 PCM 数据。 更多... | |
(int) | - pushExternalAudioFrame: |
推送外部音频帧。 将外部音频数据帧推送给内部引擎。 通过 setExternalAudioSource 启用外部音频数据输入功能成功后,可以使用 pushExternalAudioFrame 接口发送音频 PCM 数据。 更多... | |
(int) | - setExternalAudioRender:sampleRate:channels: |
设置外部音频渲染。 该方法适用于需要自行渲染音频的场景。默认为关闭状态。当该方法调用成功后,音频播放设备选择和异常重启失效。 调用成功后可以使用 pullExternalAudioFrame 接口获取音频 PCM 数据。 更多... | |
(int) | - pullExternalAudioFrame:length: |
拉取外部音频数据。 该方法将从内部引擎拉取音频数据。 通过 setExternalAudioRender 启用外部音频数据渲染功能成功后,可以使用 pullExternalAudioFrame 接口获取音频 PCM 数据。 更多... | |
(int) | - addEngineMediaStatsObserver: |
注册媒体统计信息观测器。 更多... | |
(int) | - removeEngineMediaStatsObserver: |
移除指定媒体统计信息观测器。 更多... | |
(int) | - cleanupEngineMediaStatsObserver |
清除全部媒体统计信息观测器。 更多... | |
(int) | - addLiveStreamTask:compeltion: |
添加房间推流任务。 成功调用该方法后,当前用户可以收到该直播流的状态通知。 更多... | |
(int) | - updateLiveStreamTask:compeltion: |
更新房间推流任务。 更多... | |
(int) | - removeLiveStreamTask:compeltion: |
删除房间推流任务。 更多... | |
(int) | - setRecordingAudioFrameParameters: |
设置采集的音频格式。 该方法设置 NERtcEngineAudioFrameObserver#onNERtcEngineAudioFrameDidRecord: 回调的录制声音格式。 更多... | |
(int) | - setPlaybackAudioFrameParameters: |
设置播放的声音格式。 该方法设置 NERtcEngineAudioFrameObserver#onNERtcEngineAudioFrameWillPlayback: 回调的播放声音格式。 更多... | |
(int) | - setMixedAudioFrameParameters: |
设置录制和播放声音混音后的数据格式。 该方法设置 NERtcEngineAudioFrameObserver#onNERtcEngineMixedAudioFrame: 回调的声音格式。 更多... | |
(int) | - setAudioFrameObserver: |
注册语音观测器对象。 该方法用于设置音频采集/播放 PCM 回调,可用于声音处理等操作。当需要引擎返回 NERtcEngineAudioFrameObserver#onNERtcEngineAudioFrameDidRecord: 或 NERtcEngineAudioFrameObserver#onNERtcEngineAudioFrameWillPlayback: 回调时,需要使用该方法注册回调。 更多... | |
(int) | - enableAudioVolumeIndication:interval: |
启用说话者音量提示。 该方法允许 SDK 定期向 App 反馈本地发流用户和瞬时音量最高的远端用户(最多 3 位)的音量相关信息,即当前谁在说话以及说话者的音量。 启用该方法后,只要房间内有发流用户,无论是否有人说话,SDK 都会在加入房间后根据预设的时间间隔触发 onRemoteAudioVolumeIndication 回调。 更多... | |
(int) | - enableAudioVolumeIndication:interval:vad: |
启用说话者音量提示。 该方法允许 SDK 定期向 App 反馈本地发流用户和瞬时音量最高的远端用户(最多 3 位)的音量相关信息,即当前谁在说话以及说话者的音量。 启用该方法后,只要房间内有发流用户,无论是否有人说话,SDK 都会在加入房间后根据预设的时间间隔触发 NERtcEngineDelegateEx#onRemoteAudioVolumeIndication:totalVolume: 回调。 更多... | |
(int) | - adjustRecordingSignalVolume: |
调节采集信号音量。 更多... | |
(int) | - adjustPlaybackSignalVolume: |
调节本地播放的所有远端用户信号音量。 更多... | |
(int) | - adjustUserPlaybackSignalVolume:forUserID: |
调节本地播放的指定远端用户的信号音量。 加入房间后,您可以多次调用该方法设置本地播放的不同远端用户的音量;也可以反复调节本地播放的某个远端用户的音量。 更多... | |
(int) | - setLocalVoicePitch: |
设置本地语音音调。 该方法改变本地说话人声音的音调。 更多... | |
(int) | - setLocalVoiceEqualizationOfBandFrequency:withGain: |
设置本地语音音效均衡,即自定义设置本地人声均衡波段的中心频率。 更多... | |
(int) | - setVoiceBeautifierPreset: |
设置 SDK 预设的美声效果。 调用该方法可以为本地发流用户设置 SDK 预设的人声美声效果。 更多... | |
(int) | - setAudioEffectPreset: |
设置 SDK 预设的人声的变声音效。 设置变声音效可以将人声原音调整为多种特殊效果,改变声音特性。 更多... | |
(int) | - setLocalVoiceReverbParam: |
设置本地语音混响效果。 更多... | |
(int) | - setLocalCanvasWatermarkConfigs:withStreamType: |
添加本地视频画布水印。 更多... | |
(int) | - setRemoteCanvasWatermarkConfigs:forUserID:withStreamType: |
添加远端视频画布水印。 更多... | |
(int) | - setLocalVideoWatermarkConfigs:withStreamType: |
设置视频水印。水印在本地预览及发送过程中均生效。 更多... | |
(int) | - takeLocalSnapshot:callback: |
本地视频画面截图。 调用 takeLocalSnapshot 截取本地主流或本地辅流的视频画面,并通过 NERtcTakeSnapshotCallback 的回调返回截图画面的数据。 更多... | |
(int) | - takeRemoteSnapshot:forUserID:callback: |
远端视频画面截图。 调用 takeRemoteSnapshot 截取指定 uid 远端主流和远端辅流的视频画面,并通过 NERtcTakeSnapshotCallback 的回调返回截图画面的数据。 更多... | |
(int) | - uploadSdkInfo |
上传 SDK 信息。 上传的信息包括 log 和 Audio dump 等文件。 更多... | |
(int) | - sendSEIMsg:streamChannelType: |
指定主流或辅流通道发送媒体增强补充信息(SEI)。 在本端推流传输音视频流数据同时,发送流媒体补充增强信息来同步一些其他附加信息。当推流方发送 SEI 后,拉流方可通过监听 onRecvSEIMsg 的回调获取 SEI 内容。 更多... | |
(int) | - sendSEIMsg: |
通过主流通道发送媒体增强补充信息(SEI)。 在本端推流传输音视频流数据同时,发送流媒体补充增强信息来同步一些其他附加信息。当推流方发送 SEI 后,拉流方可通过监听 onRecvSEIMsg 的回调获取 SEI 内容。 更多... | |
(int) | - startChannelMediaRelay: |
开始跨房间媒体流转发。 更多... | |
(int) | - updateChannelMediaRelay: |
更新媒体流转发的目标房间。 成功开始跨房间转发媒体流后,如果你希望将流转发到多个目标房间,或退出当前的转发房间,可以调用该方法。 更多... | |
(int) | - stopChannelMediaRelay |
停止跨房间媒体流转发。 主播离开房间时,跨房间媒体流转发自动停止,您也可以在需要的时候随时调用 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) 可能得到当前服务端时间。 更多... | |
构造函数 继承自 <INERtcEngine> | |
(NERtcConnectionStateType) | - connectionState |
获取当前房间连接状态。 更多... | |
(int) | - setupEngineWithContext: |
创建 NERtcEngine 并初始化 NERTC SDK 服务。 更多... | |
(int) | - joinChannelWithToken:channelName:myUid:completion: |
加入音视频房间。 加入音视频房间时,如果指定房间尚未创建,云信服务器内部会自动创建一个同名房间。 更多... | |
(int) | - leaveChannel |
离开房间,即挂断或退出通话。 结束通话时,必须调用leaveChannel结束通话,否则无法开始下一次通话。 成功调用该方法离开房间后,本地会触发 onNERtcEngineDidLeaveChannelWithResult 回调,远端会触发 onNERtcEngineUserDidLeaveWithUserID 回调。 更多... | |
(int) | - switchChannelWithToken:channelName:completion: |
快速切换音视频房间。 房间场景为直播场景时,房间中角色为观众的成员可以调用该方法从当前房间快速切换至另一个房间。 成功调用该方切换房间后,本端会收到离开房间的回调 onNERtcEngineDidLeaveChannelWithResult;远端用户会收到 onNERtcEngineUserDidLeaveWithUserID 和 onNERtcEngineUserDidJoinWithUserID 的回调。 更多... | |
(int) | - enableLocalAudio: |
开启/关闭本地音频采集和发送。 当 App 加入房间时,语音功能默认为开启状态。 该方法不影响接收或播放远端音频流,enableLocalAudio(NO) 适用于只下行不上行音频流的场景。 成功调用该方法后,房间内其他用户触发 onNERtcEngineUserAudioDidStart 或 onNERtcEngineUserAudioDidStop 回调。 更多... | |
(int) | - enableLocalVideo: |
是否开启本地视频采集。 更多... | |
(int) | - enableLocalVideo:streamType: |
开启或关闭本地视频的采集与发送。 通过主流或辅流视频通道进行本地视频流的采集与发送。 更多... | |
(int) | - enableMediaPub:withMediaType: |
开启或关闭本地媒体流(主流)的发送。 该方法用于开始或停止向网络发送本地音频或视频数据。 该方法不影响接收或播放远端媒体流,也不会影响本地音频或视频的采集状态。 更多... | |
(int) | - setChannelProfile: |
设置房间场景。 房间场景可设置为通话或直播场景,不同的场景中 QoS 策略不同。 更多... | |
(int) | - setLocalVideoConfig: |
设置视频编码属性。 更多... | |
(int) | - setLocalVideoConfig:streamType: |
设置视频编码属性。 通过此接口可以设置视频主流或辅流的编码分辨率、裁剪模式、码率、帧率、带宽受限时的视频编码降级偏好、编码的镜像模式、编码的方向模式参数。 更多... | |
(int) | - setAudioProfile:scenario: |
设置音频编码属性。 更多... | |
(int) | - setupLocalVideoCanvas: |
设置本地视图。 该方法设置本地视频显示信息。只影响本地用户看到的视频画面,不影响远端。 App 通过调用此接口绑定本地视频流的显示视窗(view)。 在 App 开发中,通常在初始化后调用该方法进行本地视频设置,然后再加入房间。 更多... | |
(int) | - setupRemoteVideoCanvas:forUserID: |
设置远端用户视图。 该方法绑定远端用户和显示视图,并设置远端用户视图在本地显示时的渲染模式和镜像模式,只影响本地用户看到的视频画面。 更多... | |
(int) | - switchCamera |
切换前置/后置摄像头。 该方法需要在相机启动后调用,例如调用 startPreview 或 joinChannel 后。 更多... | |
(int) | - setClientRole: |
在直播场景中设置用户角色。 用户角色支持设置为主播或观众,主播和观众的权限不同。 更多... | |
(int) | - setParameters: |
设置音视频通话的相关参数。 更多... | |
NERtcEngine 扩展接口
- (int) addEngineMediaStatsObserver: | (id< NERtcEngineMediaStatsObserver >) | observer |
- (int) addLiveStreamTask: | (NERtcLiveStreamTaskInfo *) | taskInfo | |
compeltion: | (NERtcLiveStreamCompletion) | completion | |
添加房间推流任务。
成功调用该方法后,当前用户可以收到该直播流的状态通知。
taskInfo | 推流任务信息,详细信息请参考 NERtcLiveStreamTaskInfo。 |
completion | 操作结果回调,方法调用成功后会触发对应回调。详细信息请参考 NERtcLiveStreamCompletion。 |
- (int) adjustPlaybackSignalVolume: | (uint32_t) | volume |
调节本地播放的所有远端用户信号音量。
volume | 播放音量。取值范围为 [0, 400]。其中:
|
- (int) adjustRecordingSignalVolume: | (uint32_t) | volume |
调节采集信号音量。
volume | 采集信号音量,取值范围为 [0, 400]。其中:
|
- (int) adjustUserPlaybackSignalVolume: | (uint32_t) | volume | |
forUserID: | (uint64_t) | userID | |
调节本地播放的指定远端用户的信号音量。
加入房间后,您可以多次调用该方法设置本地播放的不同远端用户的音量;也可以反复调节本地播放的某个远端用户的音量。
userID | 远端用户 ID。 |
volume | 播放音量,取值范围为 [0,100]。
|
- (int) cleanupEngineMediaStatsObserver |
清除全部媒体统计信息观测器。
- (nullable NERtcChannel *) createChannel: | (NSString *) | channelName |
创建一个 IRtcChannel 对象
[in] | channelName | 房间名。设置相同房间名称的用户会进入同一个通话房间。字符串格式,长度为1~ 64 字节。支持以下89个字符:a-z, A-Z, 0-9, space, !#$%&()+-:;≤.,>?@[]^_{|}~” |
- (int) enableAudioVolumeIndication: | (BOOL) | enable | |
interval: | (uint64_t) | interval | |
启用说话者音量提示。
该方法允许 SDK 定期向 App 反馈本地发流用户和瞬时音量最高的远端用户(最多 3 位)的音量相关信息,即当前谁在说话以及说话者的音量。
启用该方法后,只要房间内有发流用户,无论是否有人说话,SDK 都会在加入房间后根据预设的时间间隔触发 onRemoteAudioVolumeIndication 回调。
enable | 是否启用说话者音量提示。 |
interval | 指定音量提示的时间间隔。单位为毫秒。必须设置为 100 毫秒的整数倍值,建议设置为 200 毫秒以上。 |
- (int) enableAudioVolumeIndication: | (BOOL) | enable | |
interval: | (uint64_t) | interval | |
vad: | (BOOL) | enableVad | |
启用说话者音量提示。
该方法允许 SDK 定期向 App 反馈本地发流用户和瞬时音量最高的远端用户(最多 3 位)的音量相关信息,即当前谁在说话以及说话者的音量。
启用该方法后,只要房间内有发流用户,无论是否有人说话,SDK 都会在加入房间后根据预设的时间间隔触发 NERtcEngineDelegateEx#onRemoteAudioVolumeIndication:totalVolume: 回调。
enable | 是否启用说话者音量提示。
|
interval | 指定音量提示的时间间隔。单位为毫秒。必须设置为 100 毫秒的整数倍值,建议设置为 200 毫秒以上。 |
enableVad | 是否启用本地采集人声监测。
|
- (int) enableDualStreamMode: | (BOOL) | enable |
设置是否开启视频大小流模式。
该方法设置单流或者双流模式。发送端开启双流模式后,接收端可以选择接收大流还是小流。其中,大流指高分辨率、高码率的视频流,小流指低分辨率、低码率的视频流。
enable | YES 发送双流, NO 发送单流。 |
- (int) enableEarback: | (BOOL) | enabled | |
volume: | (uint32_t) | volume | |
开启耳返功能。
enabled | 开启耳返功能。 |
volume | 设置耳返音量,可设置为0~100,默认为 100。 |
- (int) enableEncryption: | (BOOL) | enable | |
config: | (NERtcEncryptionConfig *) | config | |
开启或关闭媒体流加密。
enable | 是否开启媒体流加密。
|
config | 媒体流加密方案。详细信息请参考 NERtcEncryptionConfig。 |
- (int) enableLocalSubStreamAudio: | (BOOL) | enabled |
开启或关闭音频辅流。
开启时远端会收到 NERtcChannelDelegate#onNERtcChannelUserSubStreamAudioDidStart: 回调 ,关闭时远端会收到 NERtcChannelDelegate#onNERtcChannelUserSubStreamAudioDidStop: 回调。
enabled | 是否开启音频辅流。
|
- (int) enableSuperResolution: | (BOOL) | enabled |
启用或停止 AI 超分。
enabled | 是否启用 AI 超分。默认为关闭状态。 |
- (int) enableVideoCorrection: | (BOOL) | enable |
是否启用视频图像畸变矫正。
enable | 是否开启视频图像矫正。
|
- (int) enableVirtualBackground: | (BOOL) | enable | |
backData: | (NERtcVirtualBackgroundSource *_Nullable) | backData | |
开启/关闭虚拟背景。
启用虚拟背景功能后,您可以使用自定义背景图片替换本地用户的原始背景图片。
替换后,频道内所有用户都可以看到自定义背景图片。
enable | 设置是否开启虚拟背景。
|
backData | 自定义背景图片。详细信息请参考 NERtcVirtualBackgroundSource。 |
- (int) getAudioMixingCurrentPosition: | (uint64_t *) | position |
获取音乐文件的播放进度。
该方法获取当前伴奏播放进度,单位为毫秒。请在房间内调用该方法。
position | 音乐文件的播放位置,单位为毫秒。 |
- (int) getAudioMixingDuration: | (uint64_t *) | duration |
获取伴奏时长。
该方法获取伴奏时长,单位为毫秒。请在房间内调用该方法。
duration | 伴奏时长,单位为毫秒。 |
- (int) getAudioMixingPlaybackVolume: | (uint32_t *) | volume |
获取伴奏播放音量。
该方法获取混音里伴奏的播放音量大小。请在房间内调用该方法。
volume | 伴奏播放音量。范围为 0~100。 |
- (int) getAudioMixingSendVolume: | (uint32_t *) | volume |
获取伴奏发送音量。
该方法获取混音里伴奏的发送音量大小。请在房间内调用该方法。
volume | 伴奏发送音量。 |
- (int) getEffectCurrentPositionWithId: | (uint32_t) | effectId | |
position: | (uint64_t *) | position | |
获取音效的播放进度。
[in] | effectId | 音效 ID。 |
[out] | position | 音效文件的播放位置,单位为毫秒。 |
- (int) getEffectDurationWithId: | (uint32_t) | effectId | |
duration: | (uint64_t *) | duration | |
获取音效文件时长。
[in] | effectId | 音效 ID。 |
[out] | duration | 音效文件时长,单位为毫秒。 |
- (int) getEffectPlaybackVolumeWithId: | (uint32_t) | effectId | |
volume: | (uint32_t *) | volume | |
获取音效的回放音量
effectId | 音效 ID。 |
volume | 返回的音量值 |
- (int) getEffectSendVolumeWithId: | (uint32_t) | effectId | |
volume: | (uint32_t *) | volume | |
获取指定音效文件发送音量。
请在加入房间后调用该方法。
effectId | 指定音效的 ID。每个音效均有唯一的 ID。 |
volume | 返回的发送音量。 |
- (int) getLoudspeakerMode: | (bool *) | enabled |
检查扬声器状态启用状态。
enabled | 是否正在使用扬声器模式。 |
- (int64_t) getNtpTimeOffset |
获取本地系统时间与服务端时间差值。
可以用于做时间对齐,通过 (毫秒级系统时间 - offset) 可能得到当前服务端时间。
- (int) getPlayoutDeviceMute: | (bool *) | muted |
获取音频播放设备的静音状态。
muted | 是否静音。 |
- (int) getRecordDeviceMute: | (bool *) | muted |
查询当前音频采集设备是否静音。
muted | 是否静音。 |
- (BOOL) isCameraExposurePositionSupported |
检测设备是否支持手动曝光功能。
- (BOOL) isCameraFocusSupported |
检测设备是否支持手动对焦功能。
- (BOOL) isCameraTorchOn |
查询设备是否开启了闪光灯。
- (BOOL) isCameraTorchSupported |
检测设备是否支持闪光灯常亮。
- (BOOL) isCameraZoomSupported |
检测设备当前使用的摄像头是否支持缩放功能。
该方法需要在相机启动后调用,例如调用 startPreview 或 joinChannel 后。
- (float) maxCameraZoomScale |
获取摄像头支持最大缩放比例。
- (int) muteLocalAudio: | (BOOL) | muted |
开启或关闭本地音频主流的发送。
该方法用于向网络发送或取消发送本地音频数据。
该方法不影响接收或播放远端音频流,也不会影响本地音频的采集状态。
muted | 是否开启本地音频的发送。
|
- (int) muteLocalSubStreamAudio: | (BOOL) | muted |
静音或解除静音本地上行的音频辅流。
muted | 是否静音本地音频辅流发送。
|
- (int) muteLocalVideo: | (BOOL) | muted |
取消或恢复发布本地视频流。
muted | 是否取消发布本地视频流。
|
- (int) muteLocalVideo: | (BOOL) | muted | |
streamType: | (NERtcStreamChannelType) | streamType | |
取消或恢复发布本地视频。
调用该方法取消发布本地视频主流或辅流后,SDK 不再发送本地视频流。
参数名称 | 类型 | 描述 |
---|---|---|
streamType | NERtcStreamChannelType | 视频通道类型:
|
muted | BOOL | 是否取消发布本地视频流:
|
- (int) pauseAllEffects |
暂停播放所有音效文件。
请在加入房间后调用该方法。
- (int) pauseAudioMixing |
暂停播放音乐文件及混音。
该方法暂停播放伴奏。请在房间内调用该方法。
- (int) pauseEffectWitdId: | (uint32_t) | effectId |
暂停播放指定音效文件。
请在加入房间后调用该方法。
effectId | 音效 ID。 |
- (int) playEffectWitdId: | (uint32_t) | effectId | |
effectOption: | (NERtcCreateAudioEffectOption *) | option | |
播放指定音效文件。
该方法播放指定的本地或在线音效文件。
effectId | 指定音效的 ID。每个音效均应有唯一的 ID。 |
option | 音效相关参数,包括混音任务类型、混音文件路径等。详细信息请参考 NERtcCreateAudioEffectOption。 |
- (int) pullExternalAudioFrame: | (void *_Nonnull) | data | |
length: | (int) | len | |
拉取外部音频数据。
该方法将从内部引擎拉取音频数据。 通过 setExternalAudioRender 启用外部音频数据渲染功能成功后,可以使用 pullExternalAudioFrame 接口获取音频 PCM 数据。
data | 数据指针。 |
len | 待拉取音频数据的字节数,单位为 byte。建议音频数据的时长至少为 10 毫秒,数据长度不能超过 7680字节。 计算公式为: len = sampleRate/1000 × 2 × channels × 音频数据时长(毫秒)。 |
- (int) pushExternalAudioFrame: | (NERtcAudioFrame *) | frame |
推送外部音频帧。
将外部音频数据帧推送给内部引擎。 通过 setExternalAudioSource 启用外部音频数据输入功能成功后,可以使用 pushExternalAudioFrame 接口发送音频 PCM 数据。
frame | 外部音频帧数据;数据长度不能超过 7680 字节,和调用周期时长一致。 |
- (int) pushExternalSubStreamAudioFrame: | (NERtcAudioFrame *) | frame |
推送外部音频辅流数据帧。
将外部音频辅流帧数据帧主动推送给内部引擎。通过 INERtcEngineEx.enableLocalSubStreamAudio: 启用音频辅流后,可以调用此接口发送音频辅流 PCM 数据。
frame | 音频帧数据。 |
- (int) pushExternalVideoFrame: | (NERtcVideoFrame *) | frame |
推送外部视频帧。
该方法主动将视频帧数据用 NERtcVideoFrame 类封装后传递给 SDK。
frame | 外部视频帧的数据信息。详细信息请参考 NERtcVideoFrame。 |
- (int) removeEngineMediaStatsObserver: | (id< NERtcEngineMediaStatsObserver >) | observer |
移除指定媒体统计信息观测器。
observer | 统计信息观测器 |
- (int) removeLiveStreamTask: | (NSString *) | taskId | |
compeltion: | (NERtcLiveStreamCompletion) | completion | |
删除房间推流任务。
taskId | 推流任务 ID。 |
completion | 操作结果回调,方法调用成功后会触发对应回调。详细信息请参考 NERtcLiveStreamCompletion。 |
- (int) resumeAllEffects |
恢复播放所有音效文件。
请在加入房间后调用该方法。
- (int) resumeAudioMixing |
该方法恢复混音,继续播放伴奏。请在房间内调用该方法。
- (int) resumeEffectWitdId: | (uint32_t) | effectId |
恢复播放指定音效文件。
请在加入房间后调用该方法。
effectId | 指定音效的 ID。每个音效均有唯一的 ID。 |
- (int) sendSEIMsg: | (NSData *) | data |
通过主流通道发送媒体增强补充信息(SEI)。
在本端推流传输音视频流数据同时,发送流媒体补充增强信息来同步一些其他附加信息。当推流方发送 SEI 后,拉流方可通过监听 onRecvSEIMsg 的回调获取 SEI 内容。
data | 自定义 SEI 数据。 |
- (int) sendSEIMsg: | (NSData *) | data | |
streamChannelType: | (NERtcStreamChannelType) | type | |
指定主流或辅流通道发送媒体增强补充信息(SEI)。
在本端推流传输音视频流数据同时,发送流媒体补充增强信息来同步一些其他附加信息。当推流方发送 SEI 后,拉流方可通过监听 onRecvSEIMsg 的回调获取 SEI 内容。
data | 自定义 SEI 数据。 |
type | 发送 SEI 时,使用的流通道类型。详细信息请参考 NERtcStreamChannelType。 |
- (int) setAudioEffectPreset: | (NERtcVoiceChangerType) | type |
设置 SDK 预设的人声的变声音效。
设置变声音效可以将人声原音调整为多种特殊效果,改变声音特性。
type | 预设的变声音效。默认关闭变声音效。详细信息请参考 NERtcVoiceChangerType。 |
- (int) setAudioFrameObserver: | (nullable id< NERtcEngineAudioFrameObserver >) | observer |
注册语音观测器对象。
该方法用于设置音频采集/播放 PCM 回调,可用于声音处理等操作。当需要引擎返回 NERtcEngineAudioFrameObserver#onNERtcEngineAudioFrameDidRecord: 或 NERtcEngineAudioFrameObserver#onNERtcEngineAudioFrameWillPlayback: 回调时,需要使用该方法注册回调。
observer | 音频数据帧观测器。 如果传入 NULL,则取消注册,同时会清理 NERtcAudioFrameRequestFormat 相关设置。详细信息请参考 NERtcEngineAudioFrameObserver。 |
- (int) setAudioMixingPlaybackVolume: | (uint32_t) | volume |
调节伴奏播放音量。
该方法调节混音里伴奏的播放音量大小。请在房间内调用该方法。
volume | 伴奏播放音量。取值范围为 0~100。默认 100,即原始文件音量。 |
- (int) setAudioMixingPosition: | (uint64_t) | position |
设置音乐文件的播放位置。
该方法可以设置音频文件的播放位置,这样你可以根据实际情况播放文件,而非从头到尾播放整个文件。
position | 音乐文件的播放位置,单位为毫秒。 |
- (int) setAudioMixingSendVolume: | (uint32_t) | volume |
设置伴奏的发送音量。
volume | 伴奏发送音量。取值范围为 0~100。默认 100,即原始文件音量。 |
- (int) setAudioSessionOperationRestriction: | (NERtcAudioSessionOperationRestriction) | restriction |
设置 SDK 对 Audio Session 的控制权限。
该方法仅适用于 iOS 平台。
该方法限制 SDK 对 Audio Session 的操作权限。在默认情况下,SDK 和 App 对 Audio Session 都有控制权,但某些场景下,App 会希望限制 SDK 对 Audio Session 的控制权限,而使用其他应用或第三方组件对 Audio Session 进行操控。调用该方法可以实现该功能。
该接口只能在入会之前调用。
restriction | SDK 对 Audio Session 的控制权限。详细信息请参考 NERtcAudioSessionOperationRestriction。 |
- (int) setAudioSubscribeOnlyBy: | (NSArray< NSNumber * > *) | uidArray |
设置自己的音频只能被房间内指定的人订阅。
默认房间所有其他人都可以订阅自己的音频。
uidArray | 可订阅自己音频的用户uid 列表。 |
- (int) setCameraCaptureConfig: | (NERtcCameraCaptureConfiguration *) | config |
设置本地摄像头的采集偏好等配置。
在视频通话或直播中,SDK 自动控制摄像头的输出参数。默认情况下,SDK 根据用户的 setLocalVideoConfig 配置匹配最合适的分辨率进行采集。但是在部分业务场景中,如果采集画面质量无法满足实际需求,可以调用该接口调整摄像头的采集配置。
config | 摄像头采集配置。 |
- (int) setCameraCaptureConfig: | (NERtcCameraCaptureConfiguration *) | config | |
streamType: | (NERtcStreamChannelType) | streamType | |
设置本地摄像头的采集配置。
通过此接口可以设置本地摄像头采集的视频宽度、高度、旋转角度等。
参数名称 | 类型 | 描述 |
---|---|---|
config | NERtcCameraCaptureConfiguration | 本地摄像头采集配置。 |
streamType | NERtcStreamChannelType | 视频通道类型:
|
- (int) setCameraExposurePosition: | (CGPoint) | positionInView |
设置当前摄像头手动曝光位置。
成功调用该方法后,本地会触发 onCameraExposureChanged 回调。
positionInView | 曝光位置点。 |
- (int) setCameraFocusPositionX: | (float) | focusX | |
Y: | (float) | focusY | |
设置手动对焦位置。
成功调用该方法后,本地会触发 onNERtcCameraFocusChanged 回调。
focusX | 触摸点相对于视图的横坐标,范围为 0~1。 |
focusY | 触摸点相对于视图的纵坐标,范围为 0~1。 |
- (int) setCameraTorchOn: | (BOOL) | on |
设置是否打开闪光灯。
on | YES 表示开启;NO 表示关闭。 |
- (int) setCameraZoomFactor: | (float) | factor |
设置当前摄像头缩放比例。
factor | 摄像头缩放比例。 |
- (int) setCloudProxy: | (NERtcTransportType) | proxyType |
开启并设置云代理服务。
在内网环境下,如果用户防火墙开启了网络限制,请参考《使用云代理》将指定 IP 地址和端口号加入防火墙白名单,然后调用此方法开启云代理,并将 proxyType 参数设置为 NERtcTransportTypeUDPProxy(1),即指定使用 UDP 协议的云代理。
onNERtcEngineConnectionStateChangeWithState(kNERtcConnectionStateConnecting, kNERtcReasonConnectionChangedSettingProxyServer)
回调。setCloudProxy(NERtcTransportTypeNoneProxy)
。 proxyType | 云代理类型。详细信息请参考 NERtcTransportType。该参数为必填参数,若未赋值,SDK 会报错。 |
- (int) setEarbackVolume: | (uint32_t) | volume |
设置耳返音量。
volume | 设置耳返音量,可设置为0~100,默认为 100。 |
- (int) setEffectPlaybackVolumeWithId: | (uint32_t) | effectId | |
volume: | (uint32_t) | volume | |
获取音效文件播放音量。
请在加入房间后调用该方法。
effectId | 指定音效的 ID。每个音效均有唯一的 ID。 |
volume | 音效播放音量。范围为0~100,默认为100。 |
- (int) setEffectSendVolumeWithId: | (uint32_t) | effectId | |
volume: | (uint32_t) | volume | |
设置音效文件发送音量。
请在加入房间后调用该方法。
effectId | 指定音效的 ID。每个音效均有唯一的 ID。 |
volume | 音效发送音量。范围为0~100,默认为 100,表示原始音量。 |
- (int) setExternalAudioRender: | (BOOL) | enabled | |
sampleRate: | (int32_t) | sampleRate | |
channels: | (int32_t) | channels | |
设置外部音频渲染。
该方法适用于需要自行渲染音频的场景。默认为关闭状态。当该方法调用成功后,音频播放设备选择和异常重启失效。
调用成功后可以使用 pullExternalAudioFrame 接口获取音频 PCM 数据。
enabled | 设置是否开启外部音频渲染。 |
sampleRate | 外部音频渲染的采样率 (Hz),可设置为 16000,32000,44100 或 48000。 |
channels | 外部音频渲染的声道数,可设置为:
|
- (int) setExternalAudioSource: | (BOOL) | enabled | |
sampleRate: | (int32_t) | sampleRate | |
channels: | (int32_t) | channels | |
开启或关闭外部音频源数据输入。
当该方法调用成功后,音频输入设备选择和异常重启会失效。调用成功后可以使用 pushExternalAudioFrame 接口发送音频 PCM 数据。
enabled | 是否开启外部数据输入。默认为 NO。 |
sampleRate | 外部音频源的数据采样率,单位为 Hz。建议设置为 8000,16000,32000,44100 或 48000。 |
channels | 外部音频源的数据声道数。可设置为:
|
- (int) setExternalSubStreamAudioSource: | (BOOL) | enabled | |
sampleRate: | (int32_t) | sampleRate | |
channels: | (int32_t) | channels | |
开启或关闭外部音频辅流输入。
调用成功后可以使用 pushExternalSubStreamAudioFrame: 接口发送音频辅流 PCM 数据。
enabled | 是否开启外部音频辅流数据输入。
|
sampleRate | 外部音频源的数据采样率,单位为 Hz。建议设置为 8000,16000,32000,44100 或 48000。 |
channels | 外部音频源的数据声道数。
|
- (int) setExternalVideoSource: | (BOOL) | enable | |
isScreen: | (BOOL) | isScreen | |
开启或关闭外部视频源数据输入。
enable | 是否使用外部视频源。 |
isScreen | 使用外部视频源时,外部视频源是否为屏幕共享数据。 |
- (int) setExternalVideoSource: | (BOOL) | enable | |
streamType: | (NERtcStreamChannelType) | streamType | |
开启或关闭外部视频源数据输入。
通过本接口可以实现创建自定义的外部视频源,您可以选择通过主流或辅流通道传输该外部视频源的数据,但暂不支持同时开启。
参数名称 | 类型 | 描述 |
---|---|---|
streamType | NERtcStreamChannelType | 视频通道类型:
|
enable | BOOL | 是否使用外部视频源:
|
- (int) setLocalCanvasWatermarkConfigs: | (nullable NERtcCanvasWatermarkConfig *) | config | |
withStreamType: | (NERtcStreamChannelType) | type | |
添加本地视频画布水印。
type | 视频流类型。支持设置为主流或辅流。详细信息请参考 NERtcStreamChannelType。 |
config | 画布水印设置。支持设置文字水印、图片水印和时间戳水印,设置为 null 表示清除水印。详细信息请参考 NERtcCanvasWatermarkConfig。 |
- (int) setLocalMediaPriority: | (NERtcMediaPriorityType) | priority | |
preemptive: | (BOOL) | preemptive | |
设置本地用户的媒体流优先级。
如果某个用户的优先级为高,那么该用户媒体流的优先级就会高于其他用户,弱网环境下 SDK 会优先保证其他用户收到的、高优先级用户的媒体流的质量。
priority | 本地用户的媒体流优先级,默认为 kNERtcMediaPriorityNormal ,即普通优先级。详细信息请参考 NERtcMediaPriorityType。 |
preemptive | 是否开启抢占模式,默认为 NO,即不开启。
|
- (int) setLocalPublishFallbackOption: | (NERtcStreamFallbackOptions) | option |
设置弱网条件下发布的音视频流回退选项。
在网络不理想的环境下,发布的音视频质量都会下降。使用该接口并将 option 设置为 kNERtcStreamFallbackOptionAudioOnly 后:
option | 发布音视频流的回退选项,默认为不开启回退。 详细信息请参考 NERtcStreamFallbackOptions。 |
- (int) setLocalRenderScaleMode: | (NERtcVideoRenderScaleMode) | mode |
设置本端的视频显示模式。
mode | 视频显示模式。详细信息请参考 NERtcVideoRenderScaleMode。 |
- (int) setLocalRenderSubStreamScaleMode: | (NERtcVideoRenderScaleMode) | mode |
设置本端的屏幕共享辅流视频显示模式。
在本端开启辅流形式的屏幕共享时使用。App 可以多次调用此方法更改显示模式。
mode | 视频显示模式。详细信息请参考 NERtcVideoRenderScaleMode。 |
- (int) setLocalVideoWatermarkConfigs: | (nullable NERtcVideoWatermarkConfig *) | config | |
withStreamType: | (NERtcStreamChannelType) | type | |
设置视频水印。水印在本地预览及发送过程中均生效。
type | 水印的视频流类型。支持设置为主流或辅流。详细信息请参考 NERtcStreamChannelType。 |
config | 水印设置。设置为 nil 表示取消之前的水印。详细信息请参考 NERtcVideoWatermarkConfig。 |
- (int) setLocalVoiceEqualizationOfBandFrequency: | (NERtcAudioEqualizationBandFrequency) | bandFrequency | |
withGain: | (NSInteger) | gain | |
设置本地语音音效均衡,即自定义设置本地人声均衡波段的中心频率。
bandFrequency | 频谱子带索引,取值范围是 [0-9],分别代表 10 个频带,对应的中心频率是 [31,62,125,250,500,1k,2k,4k,8k,16k] Hz。 |
gain | 每个 band 的增益,单位是 dB,每一个值的范围是 [-15,15],默认值为 0。 |
- (int) setLocalVoicePitch: | (double) | pitch |
设置本地语音音调。
该方法改变本地说话人声音的音调。
pitch | 语音频率。可以在 [0.5, 2.0] 范围内设置。取值越小,则音调越低。默认值为 1.0,表示不需要修改音调。 |
- (int) setLocalVoiceReverbParam: | (NERtcReverbParam *) | param |
设置本地语音混响效果。
param | 详细信息请参考 NERtcReverbParam。 |
- (int) setLoudspeakerMode: | (bool) | enable |
启用或关闭扬声器播放。
该方法设置是否将语音路由到扬声器,即设备外放。
enable | 是否将音频路由到外放。 |
- (int) setMixedAudioFrameParameters: | (nullable NERtcAudioFrameRequestFormat *) | format |
设置录制和播放声音混音后的数据格式。
该方法设置 NERtcEngineAudioFrameObserver#onNERtcEngineMixedAudioFrame: 回调的声音格式。
format | 指定 NERtcEngineAudioFrameObserver#onNERtcEngineMixedAudioFrame: 中返回数据的采样率和数据的通道数。允许传入 nil,默认为 nil,表示使用音频的原始格式。详细信息请参考 NERtcAudioFrameRequestFormat。 |
- (int) setPlaybackAudioFrameParameters: | (nullable NERtcAudioFrameRequestFormat *) | format |
设置播放的声音格式。
该方法设置 NERtcEngineAudioFrameObserver#onNERtcEngineAudioFrameWillPlayback: 回调的播放声音格式。
format | 指定 NERtcEngineAudioFrameObserver#onNERtcEngineAudioFrameWillPlayback: 中返回数据的采样率和数据的通道数。 允许传入 nil,默认为 nil,表示使用音频的原始格式。详细信息请参考 NERtcAudioFrameRequestFormat。 |
- (int) setPlayoutDeviceMute: | (bool) | muted |
设置是否静音音频播放设备。
muted | 是否静音播放设备。默认为不静音状态。 |
- (int) setRecordDeviceMute: | (bool) | muted |
设置是否静音音频采集设备。
muted | 是否静音音频采集设备。默认为不静音。 |
- (int) setRecordingAudioFrameParameters: | (nullable NERtcAudioFrameRequestFormat *) | format |
设置采集的音频格式。
该方法设置 NERtcEngineAudioFrameObserver#onNERtcEngineAudioFrameDidRecord: 回调的录制声音格式。
format | 指定 NERtcEngineAudioFrameObserver#onNERtcEngineAudioFrameDidRecord: 中返回数据的采样率和数据的通道数。 允许传入 nil,默认为 nil,表示使用音频的原始格式。详细信息请参考 NERtcAudioFrameRequestFormat。 |
- (int) setRemoteCanvasWatermarkConfigs: | (nullable NERtcCanvasWatermarkConfig *) | config | |
forUserID: | (uint64_t) | userID | |
withStreamType: | (NERtcStreamChannelType) | type | |
添加远端视频画布水印。
userID | 远端用户 ID。 |
type | 视频流类型。支持设置为主流或辅流。详细信息请参考 NERtcStreamChannelType。 |
config | 画布水印设置。支持设置文字水印、图片水印和时间戳水印,设置为 null 表示清除水印。详细信息请参考 NERtcCanvasWatermarkConfig。 |
- (int) setRemoteHighPriorityAudioStream: | (BOOL) | enable | |
forUserID: | (uint64_t) | userID | |
streamType: | (NERtcAudioStreamType) | streamType | |
设置远端用户音频流的高优先级。 支持在音频自动订阅的情况下,设置某一个远端用户的音频为最高优先级,可以优先听到该用户的音频。
enable | 是否设置音频订阅优先级。
|
userID | 用户 ID |
streamType | 订阅音频流的类型。默认为 kNERtcAudioStreamMain。 |
- (int) setRemoteRenderScaleMode: | (NERtcVideoRenderScaleMode) | mode | |
forUserID: | (uint64_t) | userID | |
设置远端的视频显示模式。
mode | 视频显示模式。详细信息请参考 NERtcVideoRenderScaleMode。 |
userID | 远端用户 ID。 |
- (int) setRemoteRenderSubStreamVideoScaleMode: | (NERtcVideoRenderScaleMode) | mode | |
forUserID: | (uint64_t) | userID | |
设置远端的屏幕共享辅流视频显示模式。
mode | 视频显示模式。详细信息请参考 NERtcVideoRenderScaleMode。 |
userID | 远端用户 ID。 |
- (int) setRemoteSubscribeFallbackOption: | (NERtcStreamFallbackOptions) | option |
设置弱网条件下订阅的音视频流回退选项。
弱网环境下,订阅的音视频质量会下降。通过该接口设置订阅音视频流的回退选项后:
option | 订阅音视频流的回退选项,默认为弱网时回退到视频小流。详细信息请参考 NERtcStreamFallbackOptions。 |
- (void) setStreamAlignmentProperty: | (BOOL) | enable |
对齐本地系统与服务端的时间。
enable | 是否开启精准对齐功能。
|
- (int) setupLocalSubStreamVideoCanvas: | (NERtcVideoCanvas *) | canvas |
设置本地辅流视频画布。
该方法设置本地辅流视频显示信息。App 通过调用此接口绑定本地辅流的显示视窗(view)。 在 App 开发中,通常在初始化后调用该方法进行本地视频设置,然后再加入房间。
canvas | 视频画布。详细信息请参考 NERtcVideoCanvas。删除画布设置时请传 nil。 |
- (int) setupRemoteSubStreamVideoCanvas: | (NERtcVideoCanvas *) | canvas | |
forUserID: | (uint64_t) | userID | |
设置远端的辅流视频画布。
该方法绑定远端用户和辅流显示视图,即指定某个 userID 使用对应的画布显示。
userID | 远端用户 ID。 |
canvas | 视频画布。详细信息请参考 NERtcVideoCanvas。删除画布设置时请传 nil。 |
- (int) setVideoCorrectionConfig: | (nullable NERtcVideoCorrectionConfiguration *) | config |
设置视频图像矫正参数。
config | 视频图像矫正相关参数。详细说明请参考 NERtcVideoCorrectionConfiguration。 |
- (int) setVideoRotationMode: | (NERtcVideoRotationMode) | rotationMode |
设置本地视频画面的旋转模式。
该接口用于设置本地视频画面在本地和远端设备上的旋转模式,可以指定本地画面和系统设备的横屏/竖屏模式一致、或者和 App UI的横屏/竖屏模式一致。
rotationMode | 视频旋转模式。详细信息请参考 NERtcVideoRotationMode。 |
- (int) setVoiceBeautifierPreset: | (NERtcVoiceBeautifierType) | type |
设置 SDK 预设的美声效果。
调用该方法可以为本地发流用户设置 SDK 预设的人声美声效果。
type | 预设的美声效果模式。默认关闭美声效果。详细信息请参考 NERtcVoiceBeautifierType。 |
- (int) startAudioDump |
开始记录音频 dump。
音频 dump 可用于分析音频问题。
- (int) startAudioDumpWithType: | (NERtcAudioDumpType) | type |
- (int) startAudioMixingWithOption: | (NERtcCreateAudioMixingOption *) | option |
开始播放音乐文件。
该方法指定本地或在线音频文件来和录音设备采集的音频流进行混音。
option | 创建混音任务配置的选项,包括混音任务类型、混音文件全路径或 URL 等。详细信息请参考 NERtcCreateAudioMixingOption。 |
- (int) startAudioRecording: | (NSString *) | filePath | |
sampleRate: | (int) | sampleRate | |
quality: | (NERtcAudioRecordingQuality) | quality | |
开始客户端录音。
调用该方法后,客户端会录制房间内所有用户混音后的音频流,并将其保存在本地一个录音文件中。录制开始或结束时,自动触发 onAudioRecording() 回调。
指定的录音音质不同,录音文件会保存为不同格式:
filePath | 录音文件在本地保存的绝对路径,需要精确到文件名及格式。例如:sdcard/xxx/audio.aac。
|
sampleRate | 录音采样率(Hz),可以设为 16000、32000(默认)、44100 或 48000。 |
quality | 录音音质,只在 AAC 格式下有效。详细信息请参考 NERtcAudioRecordingQuality。 |
- (int) startAudioRecordingWithConfig: | (NERtcAudioRecordingConfiguration *_Nonnull) | config |
开始客户端录音。 调用该方法后,客户端会录制房间内所有用户混音后的音频流,并将其保存在本地一个录音文件中。录制开始或结束时,自动触发 onAudioRecording() 回调。 指定的录音音质不同,录音文件会保存为不同格式:
filePath | 录音文件在本地保存的绝对路径,需要精确到文件名及格式。例如:sdcard/xxx/audio.aac。
|
sampleRate | 录音采样率(Hz),可以设为 16000、32000(默认)、44100 或 48000。 |
quality | 录音音质,只在 AAC 格式下有效。详细信息请参考 NERtcAudioRecordingQuality 。 |
position | 录音对象。详细信息请参考 NERtcAudioRecordingPosition。 |
cycleTime | 循环缓存的最大时长跨度。该参数单位为秒,可以设为 0、10、60、360、900,默认值为 0,即实时写文件。 |
- (int) startChannelMediaRelay: | (NERtcChannelMediaRelayConfiguration *_Nonnull) | config |
开始跨房间媒体流转发。
config | 跨房间媒体流转发参数配置信息。详细信息请参考 NERtcChannelMediaRelayConfiguration。 |
- (int) startLastmileProbeTest: | (NERtcLastmileProbeConfig *_Nullable) | config |
开始通话前网络质量探测。
启用该方法后,SDK 会通过回调方式反馈上下行网络的质量状态与质量探测报告,包括带宽、丢包率、网络抖动和往返时延等数据。一般用于通话前的网络质量探测场景,用户加入房间之前可以通过该方法预估音视频通话中本地用户的主观体验和客观网络状态。
相关回调如下:
onNERtcEngineLastmileQuality
:网络质量状态回调,以打分形式描述上下行网络质量的主观体验。该回调视网络情况在约 5 秒内返回。onNERtcEngineLastmileProbeTestResult
:网络质量探测报告回调,报告中通过客观数据反馈上下行网络质量。该回调视网络情况在约 30 秒内返回。 config | Last mile 网络探测配置。 |
- (int) startPreview |
开启视频预览。
该方法用于在进入房间前启动本地视频预览。调用该 API 前,必须调用 setupLocalVideoCanvas 设置视频画布。
- (int) startPreview: | (NERtcStreamChannelType) | streamType |
开启视频预览。
通过本接口可以实现在加入房间前启动本地视频预览,支持预览本地摄像头或外部输入视频。
参数名称 | 类型 | 描述 |
---|---|---|
streamType | video.NERtcStreamChannelType | 视频通道类型:
|
- (int) startScreenCapture: | (NERtcVideoSubStreamEncodeConfiguration *) | config |
开启屏幕共享,屏幕共享内容以辅流形式发送。
只能在加入房间后调用。
如果您在加入房间后调用该方法开启辅流,调用成功后,远端触发 onNERtcEngineUserSubStreamDidStartWithUserID 回调。
config | 本地辅流发送配置,详细信息请参考 NERtcVideoSubStreamEncodeConfiguration。 |
- (int) stopAllEffects |
停止播放所有音效文件。
- (int) stopAudioDump |
结束记录音频 dump。
- (int) stopAudioMixing |
停止播放音乐文件及混音。
该方法停止播放伴奏。请在房间内调用该方法。
- (int) stopAudioRecording |
停止客户端录音。
本端离开房间时自动停止录音,您也可以在通话中随时调用 stopAudioRecording 手动停止录音。
- (int) stopChannelMediaRelay |
停止跨房间媒体流转发。
主播离开房间时,跨房间媒体流转发自动停止,您也可以在需要的时候随时调用 stopChannelMediaRelay 方法,此时主播会退出所有目标房间。
- (int) stopEffectWitdId: | (uint32_t) | effectId |
停止播放指定音效文件。
effectId | 指定音效的 ID。每个音效均有唯一的 ID。 |
- (int) stopLastmileProbeTest |
停止通话前网络质量探测。
- (int) stopPreview |
停止视频预览。
- (int) stopPreview: | (NERtcStreamChannelType) | streamType |
停止视频预览。
通过本接口可以实现在预览本地视频后关闭预览。
参数名称 | 类型 | 描述 |
---|---|---|
streamType | video.NERtcStreamChannelType | 视频通道类型:
|
- (int) stopScreenCapture |
关闭辅流形式的屏幕共享。
如果您在加入房间后调用该方法关闭辅流,调用成功后,远端触发 onNERtcEngineUserSubStreamDidStop 回调。
- (int) subscribeAllRemoteAudio: | (BOOL) | subscribe |
取消或恢复订阅所有远端用户音频流。
subscribe | 是否取消订阅所有远端用户的音频流。 |
- (int) subscribeRemoteAudio: | (BOOL) | subscribe | |
forUserID: | (uint64_t) | userID | |
取消或恢复订阅指定远端用户音频流。
加入房间时,默认订阅所有远端用户的音频流,您可以通过此方法取消或恢复订阅指定远端用户的音频流。
subscribe | 是否订阅指定音频流。 |
userID | 指定远端用户的 ID。 |
- (int) subscribeRemoteSubStreamAudio: | (BOOL) | subscribe | |
forUserID: | (uint64_t) | userID | |
取消或恢复订阅指定远端用户音频辅流。
加入房间时,默认订阅所有远端用户的音频流,您可以通过此方法取消或恢复订阅指定远端用户的音频辅流。
userID | 指定用户的 userID。 |
subscribe | 是否订阅指定音频流。
|
- (int) subscribeRemoteSubStreamVideo: | (BOOL) | subscribe | |
forUserID: | (uint64_t) | userID | |
订阅或取消订阅远端的屏幕共享辅流视频,订阅之后才能接收远端的辅流视频数据。
subscribe | 是否订阅远端的屏幕共享辅流视频。 |
userID | 远端用户 ID。 |
- (int) subscribeRemoteVideo: | (BOOL) | subscribe | |
forUserID: | (uint64_t) | userID | |
streamType: | (NERtcRemoteVideoStreamType) | streamType | |
订阅或取消订阅指定远端用户的视频流。
subscribe | 是否订阅远端用户的视频流。
|
userID | 指定用户的用户 ID。 |
streamType | 订阅的视频流类型,详细信息请参考 NERtcRemoteVideoStreamType。 |
- (int) switchCameraWithPosition: | (NERtcCameraPosition) | position |
指定前置/后置摄像头。
该方法需要在相机启动后调用,例如调用 startPreview 或 joinChannel 后。
position | 摄像头类型。详细信息请参考 NERtcCameraPosition。该参数为必填参数,若未赋值,SDK 会报错。 |
- (int) takeLocalSnapshot: | (NERtcStreamChannelType) | streamType | |
callback: | (NERtcTakeSnapshotCallback) | callback | |
本地视频画面截图。
调用 takeLocalSnapshot 截取本地主流或本地辅流的视频画面,并通过 NERtcTakeSnapshotCallback 的回调返回截图画面的数据。
streamType | 截图的视频流类型。支持设置为主流或辅流。 |
callback | 截图回调。 |
- (int) takeRemoteSnapshot: | (NERtcStreamChannelType) | streamType | |
forUserID: | (uint64_t) | userID | |
callback: | (NERtcTakeSnapshotCallback) | callback | |
远端视频画面截图。
调用 takeRemoteSnapshot 截取指定 uid 远端主流和远端辅流的视频画面,并通过 NERtcTakeSnapshotCallback 的回调返回截图画面的数据。
userID | 远端用户 ID。 |
streamType | 截图的视频流类型。支持设置为主流或辅流。 |
callback | 截图回调。 |
- (int) updateChannelMediaRelay: | (NERtcChannelMediaRelayConfiguration *_Nonnull) | config |
更新媒体流转发的目标房间。
成功开始跨房间转发媒体流后,如果你希望将流转发到多个目标房间,或退出当前的转发房间,可以调用该方法。
config | 跨房间媒体流转发参数配置信息。详细信息请参考 NERtcChannelMediaRelayConfiguration。 |
- (int) updateLiveStreamTask: | (NERtcLiveStreamTaskInfo *) | taskInfo | |
compeltion: | (NERtcLiveStreamCompletion) | completion | |
更新房间推流任务。
taskInfo | 推流任务信息,详细信息请参考 NERtcLiveStreamTaskInfo。 |
completion | 操作结果回调,方法调用成功后会触发对应回调。详细信息请参考 NERtcLiveStreamCompletion。 |
- (int) uploadSdkInfo |
上传 SDK 信息。
上传的信息包括 log 和 Audio dump 等文件。