NERTC iOS SDK V5.6.40
|
#include <INERtcEngineEx.h>
额外继承的成员函数 | |
属性 继承自 <INERtcEngine> | |
id< NERtcEngineDelegateEx > | engineDelegate |
NERtcEngine 扩展接口
- (int) addEngineMediaStatsObserver: | (id< NERtcEngineMediaStatsObserver >) | observer |
- (int) addLiveStreamTask: | (NERtcLiveStreamTaskInfo *) | taskInfo | |
compeltion: | (NERtcLiveStreamCompletion) | completion |
添加房间内推流任务。 通过此接口可以实现增加一路旁路推流任务;若需推送多路流,则需多次调用该方法。
INERtcEngine#setChannelProfile:
接口设置房间模式为直播模式。 参数名称 | 类型 | 描述 |
---|---|---|
taskInfo | NERtcLiveStreamTaskInfo * | 推流任务信息。详细信息请参考 {@ NERtcLiveStreamTaskInfo}。 |
compeltion | NERtcLiveStreamCompletion | 操作结果回调,方法调用成功后会触发对应的 NERtcEngineLiveStreamObserver#onNERTCEngineLiveStreamState:taskID:url: 回调。 |
NERtcEngineLiveStreamObserver#onNERTCEngineLiveStreamState:taskID:url:
回调,通知推流任务状态已更新。 - (int) adjustChannelPlaybackSignalVolume: | (uint32_t) | volume |
调节本地播放的指定房间的所有远端用户的信号音量。
通过此接口可以实现在通话过程中随时调节本地播放的指定房间内所有用户的混音音量。
参数名称 | 类型 | 描述 |
---|---|---|
volume | uint64_t | 播放音量,取值范围为 [0,400]。
|
- (int) adjustPlaybackSignalVolume: | (uint32_t) | volume |
调节本地播放的所有远端用户的信号音量。
通过此接口可以实现调节所有远端用户在本地播放的混音音量。
参数名称 | 类型 | 描述 |
---|---|---|
volume | uint32_t | 播放音量,取值范围为 [0,400]。
|
- (int) adjustRecordingSignalVolume: | (uint32_t) | volume |
调节采集信号音量。 通过本接口可以实现设置录制声音的信号幅度,从而达到调节采集音量的目的。
参数名称 | 类型 | 描述 |
---|---|---|
volume | uint32_t | 采集信号音量,取值范围为 0 ~ 400。
|
- (int) adjustUserPlaybackSignalVolume: | (uint32_t) | volume | |
forUserID: | (uint64_t) | userID |
调节本地播放的指定远端用户的信号音量。
通过此接口可以实现在通话过程中随时调节指定远端用户在本地播放的混音音量。
参数名称 | 类型 | 描述 |
---|---|---|
userID | uint64_t | 远端用户 ID。 |
volume | uint64_t | 播放音量,取值范围为 0 ~ 400。
|
- (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 位,包括本端)的音量相关信息,即当前谁在说话以及说话者的音量。
参数名称 | 类型 | 描述 |
---|---|---|
enable | BOOL | 是否启用说话者音量提示:
|
interval | uint64_t | 指定音量提示的时间间隔。单位为毫秒。必须设置为 100 毫秒的整数倍值,建议设置为 200 毫秒以上。 |
NERtcEngineDelegateEx#onRemoteAudioVolumeIndication:totalVolume:
回调。 INERtcEngineEx#enableAudioVolumeIndication:interval:vad:
方法。 - (int) enableAudioVolumeIndication: | (BOOL) | enable | |
interval: | (uint64_t) | interval | |
vad: | (BOOL) | enableVad |
启用说话者音量提示。
通过此接口可以实现允许 SDK 定期向 App 反馈房间内发音频流的用户和瞬时音量最高的远端用户(最多 3 位,包括本端)的音量相关信息,即当前谁在说话以及说话者的音量。
参数名称 | 类型 | 描述 |
---|---|---|
enable | BOOL | 是否启用说话者音量提示:
|
interval | uint64_t | 指定音量提示的时间间隔。单位为毫秒。必须设置为 100 毫秒的整数倍值,建议设置为 200 毫秒以上。 |
enableVad | BOOL | 是否启用本地采集人声监测:
|
NERtcEngineDelegateEx#onRemoteAudioVolumeIndication:totalVolume:
回调。 - (int) enableDualStreamMode: | (BOOL) | enable |
设置是否开启视频大小流模式。
通过本接口可以实现设置单流或者双流模式。发送端开启双流模式后,接收端可以选择接收大流还是小流。其中,大流指高分辨率、高码率的视频流,小流指低分辨率、低码率的视频流。
参数名称 | 类型 | 描述 |
---|---|---|
enable | BOOL | 是否开启双流模式:
|
- (int) enableEarback: | (BOOL) | enabled | |
volume: | (uint32_t) | volume |
设置是否开启耳返功能。
volume
参数无效,请调用 INERtcEngineEx#setEarbackVolume:
接口设置耳返音量。 参数名称 | 类型 | 描述 |
---|---|---|
enabled | BOOL | 是否开启耳返功能:
|
volume | uint32_t | 设置耳返音量。取值范围为 0 ~ 100,默认值为 100。 |
- (int) enableEncryption: | (BOOL) | enable | |
config: | (NERtcEncryptionConfig *) | config |
开启或关闭媒体流加密。
enable | 是否开启媒体流加密。
|
config | 媒体流加密方案。详细信息请参考 NERtcEncryptionConfig。 |
0
方法调用成功,其他调用失败 - (int) enableLocalData: | (BOOL) | enabled |
开启或关闭本地数据通道。
[in] | enabled | 是否启用本地数据通道:
|
- (int) enableLocalSubStreamAudio: | (BOOL) | enabled |
开启或关闭音频辅流。
开启时远端会收到 NERtcChannelDelegate#onNERtcChannelUserSubStreamAudioDidStart:
回调,关闭时远端会收到 NERtcChannelDelegate#onNERtcChannelUserSubStreamAudioDidStop:
回调。
enabled | 是否开启音频辅流。
|
- (int) enableSpatializer: | (BOOL) | enabled | |
applyToTeam: | (BOOL) | applyToTeam |
开启或关闭空间音效
enabled | 是否打开 3D 音效算法功能,默认为关闭状态。 |
apply_to_team | 是否仅本小队开启 3D 音效。true: 仅仅和接收端同一个小队的人有 3D 音效;false: 接收到所有的语音都有 3d 音效
|
- (int) enableSpatializerRoomEffects: | (BOOL) | enabled |
开启或关闭空间音效的房间混响效果
enableSpatializer:applyToTeam:
接口后,再调用本接口。 enabled | 混响效果开关,默认值关闭 |
- (int) enableSuperResolution: | (BOOL) | enabled |
启用或停止 AI 超分。
enabled | 是否启用 AI 超分。默认为关闭状态。 |
0
方法调用成功,其他调用失败 - (int) enableVideoCorrection: | (BOOL) | enable |
是否启用视频图像畸变矫正。
enable | 是否开启视频图像矫正。
|
- (int) enableVirtualBackground: | (BOOL) | enable | |
backData: | (NERtcVirtualBackgroundSource *_Nullable) | backData |
开启/关闭虚拟背景。
启用虚拟背景功能后,您可以使用自定义背景图片替换本地用户的原始背景图片。
替换后,频道内所有用户都可以看到自定义背景图片。
NERtcEngineDelegateEx#onNERtcEngineVirtualBackgroundSourceEnabled:reason:
回调查看虚拟背景是否开启成功或出错原因。enable | 设置是否开启虚拟背景。
|
backData | 自定义背景图片。详细信息请参考 NERtcVirtualBackgroundSource 。 |
- (int) enableVirtualBackground: | (BOOL) | enable | |
backData: | (NERtcVirtualBackgroundSource *_Nullable) | backData | |
force: | (BOOL) | force |
开启或关闭虚拟背景。
NERtcEngineDelegateEx#onNERtcEngineVirtualBackgroundSourceEnabled:reason:
回调实现。enable | 设置是否开启虚拟背景。 |
backData | 自定义背景图片。详细信息请参考 NERtcVirtualBackgroundSource 。 |
force | 为 YES 时,低性能的设备,也支持强制开启虚拟背景。 |
- (int) getAudioMixingCurrentPosition: | (uint64_t *) | position |
获取音乐文件的播放进度。
该方法获取当前伴奏播放进度,单位为毫秒。请在房间内调用该方法。
position | 音乐文件的播放位置,单位为毫秒。 |
- (int) getAudioMixingDuration: | (uint64_t *) | duration |
获取伴奏时长。
该方法获取伴奏时长,单位为毫秒。请在房间内调用该方法。
duration | 伴奏时长,单位为毫秒。 |
- (int) getAudioMixingPitch: | (int32_t *) | pitch |
获取当前伴音文件的音调。
INERtcEngineEx#startAudioMixingWithOption:
方法开启伴音。 - (int) getAudioMixingPlaybackVolume: | (uint32_t *) | volume |
获取伴奏播放音量。
该方法获取混音里伴奏的播放音量大小。请在房间内调用该方法。
volume | 伴奏播放音量。范围为 0~200。 |
- (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) getEffectPitchWithId: | (uint32_t) | effectId | |
pitch: | (int32_t *) | pitch |
获取指定音效文件的音调。
INERtcEngineEx#playEffectWitdId:effectOption:
方法播放音效。 参数名称 | 类型 | 描述 |
---|---|---|
effectId | uint32_t | 指定音效文件的 ID。每个音效文件均对应唯一的 ID。 |
INERtcEngineEx#getEffectPitchWithId:pitch:
方法获取指定音效文件的音调。 - (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 | 返回的发送音量。 |
- (NERtcFeatureSupportType) getFeatureSupportedType: | (NERtcFeatureType) | featureType |
查询当前设备支持的 NERtc SDK 的某项功能的级别。
getFeatureSupportedType
接口的 force
为 YES
强制开启虚拟背景功能。- (int) getLoudspeakerMode: | (bool *) | enabled |
检查扬声器状态启用状态。
enabled | 是否正在使用扬声器模式。 |
- (NERtcNetworkConnectionType) getNetworkType |
获取本地网络连接类型。
- (int64_t) getNtpTimeOffset |
获取本地系统时间与服务端时间差值。
可以用于做时间对齐,通过 (毫秒级系统时间 - offset) 可能得到当前服务端时间。
- (int) getPlayoutDeviceMute: | (bool *) | muted |
获取音频播放设备的静音状态。
muted | 是否静音。 |
- (int) getRecordDeviceMute: | (bool *) | muted |
查询当前音频采集设备是否静音。
muted | 是否静音。 |
- (int) initSpatializer |
初始化引擎 3D 音效算法
- (BOOL) isCameraExposurePositionSupported |
检测设备是否支持手动曝光功能。
- (BOOL) isCameraFocusSupported |
检测设备是否支持手动对焦功能。
- (BOOL) isCameraTorchOn |
查询设备是否开启了闪光灯。
- (BOOL) isCameraTorchSupported |
检测设备是否支持闪光灯常亮。
- (BOOL) isCameraZoomSupported |
检测设备当前使用的摄像头是否支持缩放功能。
该方法需要在相机启动后调用,例如调用 startPreview 或 joinChannel 后。
- (BOOL) isFeatureSupportedWithType: | (NERtcFeatureType) | featureType |
查询当前设备是否支持 SDK 中的某项功能
参数名称 | 类型 | 描述 |
---|---|---|
featureType | NERtcFeatureType | RTC 功能类型。 |
- (float) maxCameraZoomScale |
获取摄像头支持最大缩放比例。
- (int) muteLocalAudio: | (BOOL) | muted |
开启或关闭本地音频主流的发送。
该方法用于向网络发送或取消发送本地音频数据,不影响本地音频的采集状态,也不影响接收或播放远端音频流。
参数名称 | 类型 | 描述 |
---|---|---|
mute | BOOL | 是否关闭本地音频的发送:
|
NERtcEngineDelegateEx#onNERtcEngineUser:audioMuted:
回调。 INERtcChannel#enableMediaPub:withMediaType:
:- (int) muteLocalSubStreamAudio: | (BOOL) | muted |
静音或解除静音本地上行的音频辅流。
muted | 是否静音本地音频辅流发送。
|
- (int) muteLocalVideo: | (BOOL) | muted |
取消或恢复发布本端视频主流。
调用该方法取消发布本地视频主流后,SDK 不再发送本地视频主流。
INERtcEngine#enableLocalVideo:streamType:
接口开启本地视频采集并发送后调用该方法。 INERtcEngine#leaveChannel
后设置失效,将恢复至默认,即默认发布本地视频流。INERtcEngine#enableLocalVideo:streamType:
(NO) 的区别在于,后者会关闭本地摄像头设备,该方法不禁用摄像头,不会影响本地视频流采集且响应速度更快。 参数名称 | 类型 | 描述 |
---|---|---|
muted | BOOL | 是否取消发布本地视频流:
|
NERtcEngineDelegateEx#onNERtcEngineUser:videoMuted:streamType:
回调。 - (int) muteLocalVideo: | (BOOL) | muted | |
streamType: | (NERtcStreamChannelType) | streamType |
取消或恢复发布本地视频。
调用该方法取消发布本地视频主流或辅流后,SDK 不再发送本地视频流。
INERtcEngine#enableLocalVideo:streamType:
接口开启本地视频采集并发送后调用该方法。 INERtcEngine#enableLocalVideo:streamType:
(NO) 的区别在于,后者会关闭本地摄像头设备,该方法不禁用摄像头,不会影响本地视频流采集且响应速度更快。 参数名称 | 类型 | 描述 |
---|---|---|
streamType | NERtcStreamChannelType | 视频通道类型:
|
muted | BOOL | 是否取消发布本地视频流:
|
NERtcEngineDelegateEx#onNERtcEngineUser:videoMuted:streamType:
回调。 - (int) pauseAllEffects |
暂停播放所有音效文件。
请在加入房间后调用该方法。
- (int) pauseAudioMixing |
暂停伴音。
通过此接口可以实现暂停播放伴音文件。
INERtcEngineEx#startAudioMixingWithOption:
开启伴音。 INERtcEngineEx#resumeAudioMixing
方法恢复播放伴音文件。 - (int) pauseEffectWitdId: | (uint32_t) | effectId |
暂停播放指定音效文件。
请在加入房间后调用该方法。
effectId | 音效 ID。 |
- (int) playEffectWitdId: | (uint32_t) | effectId | |
effectOption: | (NERtcCreateAudioEffectOption *) | option |
播放指定音效文件。 通过此接口可以实现播放指定的本地或在线音效文件。
参数名称 | 类型 | 描述 |
---|---|---|
effectId | uint32_t | 指定音效的 ID。每个音效均应有唯一的 ID。 |
option | NERtcCreateAudioEffectOption * | 音效相关参数,包括混音任务类型、混音文件路径等。详细信息请参考 NERtcCreateAudioEffectOption 。 |
NERtcEngineDelegateEx#onAudioEffectTimestampUpdateWithId:timeStampMS:
:本地音效文件播放进度回调。 NERtcEngineDelegateEx#onAudioEffectFinished:
:本地音效文件播放已结束回调。 - (int) pullExternalAudioFrame: | (void *_Nonnull) | data | |
length: | (int) | len |
拉取外部音频数据。
该方法将从内部引擎拉取音频数据。 通过 setExternalAudioRender 启用外部音频数据渲染功能成功后,可以使用 pullExternalAudioFrame 接口获取音频 PCM 数据。
data | 数据指针。 |
len | 待拉取音频数据的字节数,单位为 byte。建议音频数据的时长至少为 10 毫秒,数据长度不能超过 7680 字节。 计算公式为: len = sampleRate/1000 × 2 × channels × 音频数据时长(毫秒)。 |
- (int) pushExternalAudioEncodedFrame: | (NERtcAudioEncodedFrame *) | encodedAudioFrame |
推送外部音频主流编码帧。
INERtcEngineEx#setExternalAudioSource:sampleRate:channels:
接口的 enabled 参数为 YES 后调用有效。 INERtcEngineEx#pushExternalAudioFrame:
方法。参数名称 | 类型 | 描述 |
---|---|---|
encodedAudioFrame | NERtcAudioEncodedFrame * | 编码后的音频帧数据。 |
- (int) pushExternalAudioFrame: | (NERtcAudioFrame *) | frame |
推送外部音频帧。
将外部音频数据帧推送给内部引擎。 通过 setExternalAudioSource 启用外部音频数据输入功能成功后,可以使用 pushExternalAudioFrame 接口发送音频 PCM 数据。
frame | 外部音频帧数据;数据长度不能超过 7680 字节,和调用周期时长一致。 |
- (int) pushExternalSubStreamAudioEncodedFrame: | (NERtcAudioEncodedFrame *) | encodedAudioFrame |
推送外部音频辅流编码帧。
INERtcEngineEx#setExternalSubStreamAudioSource:sampleRate:channels:
接口的 enabled 参数为 YES 后调用有效。 INERtcEngineEx#pushExternalSubStreamAudioFrame:
方法。参数名称 | 类型 | 描述 |
---|---|---|
encodedAudioFrame | NERtcAudioEncodedFrame * | 编码后的音频帧数据。 |
- (int) pushExternalSubStreamAudioFrame: | (NERtcAudioFrame *) | frame |
推送外部音频辅流数据帧。
将外部音频辅流帧数据帧主动推送给内部引擎。通过 INERtcEngineEx.enableLocalSubStreamAudio:
启用音频辅流后,可以调用此接口发送音频辅流 PCM 数据。
frame | 音频帧数据。 |
- (int) pushExternalSubStreamVideoEncodedFrame: | (NERtcVideoEncodedFrame *) | encodedVideoFrame |
推送外部视频编码帧。
INERtcEngineEx#setExternalVideoSource:streamType:
接口的 enable 参数为 YES 后调用有效。 INERtcEngine#leaveChannel
后设置会重置为默认状态。INERtcEngineEx#enableDualStreamMode:
方法关闭视频大小流功能,否则远端可能无法正常接收下行流。INERtcEngineEx#pushExternalVideoFrame:
方法。参数名称 | 类型 | 描述 |
---|---|---|
encodedVideoFrame | NERtcVideoEncodedFrame * | 编码后的视频帧数据。 |
INERtcEngineEx#setVideoEncoderQosObserver:
接口设置视频编码 QoS 信息监听器,通过回调的数据信息调整编码策略。 - (int) pushExternalVideoEncodedFrame: | (NERtcVideoEncodedFrame *) | encodedVideoFrame |
推送外部视频编码帧。
INERtcEngineEx#setExternalVideoSource:streamType:
接口的 enable 参数为 YES 后调用有效。 INERtcEngine#leaveChannel
后设置会重置为默认状态。INERtcEngineEx#enableDualStreamMode:
方法关闭视频大小流功能,否则远端可能无法正常接收下行流。INERtcEngineEx#pushExternalVideoFrame:
方法。参数名称 | 类型 | 描述 |
---|---|---|
encodedVideoFrame | NERtcVideoEncodedFrame * | 编码后的视频帧数据。 |
INERtcEngineEx#setVideoEncoderQosObserver:
接口设置视频编码 QoS 信息监听器,通过回调的数据信息调整编码策略。 - (int) pushExternalVideoFrame: | (NERtcVideoFrame *) | frame |
INERtcEngineEx#pushExternalVideoFrame:streamType:
代替。 推送外部视频帧。 frame | 外部视频帧的数据信息。详细信息请参考 NERtcVideoFrame 。 |
- (int) pushExternalVideoFrame: | (NERtcVideoFrame *) | frame | |
streamType: | (NERtcStreamChannelType) | streamType |
推送外部视频帧。
该方法主动将视频帧数据用 NERtcVideoFrame 类封装后传递给 SDK。
frame | 外部视频帧的数据信息。详细信息请参考 NERtcVideoFrame 。 |
streamType | 视频流通道类型,默认为主流 kNERtcStreamChannelTypeMainStream。 |
- (int) removeEngineMediaStatsObserver: | (id< NERtcEngineMediaStatsObserver >) | observer |
移除指定媒体统计信息观测器。
observer | 统计信息观测器 |
- (int) removeLiveStreamTask: | (NSString *) | taskId | |
compeltion: | (NERtcLiveStreamCompletion) | completion |
删除房间内指定推流任务。
INERtcEngineEx#addLiveStreamTask:compeltion:
方法添加推流任务。 参数名称 | 类型 | 描述 |
---|---|---|
taskId | NSString * | 推流任务 ID。 |
completion | NERtcLiveStreamCompletion | 操作结果回调,方法调用成功后会触发对应的 NERtcEngineLiveStreamObserver#onNERTCEngineLiveStreamState:taskID:url: 回调。 |
NERtcEngineLiveStreamObserver#onNERTCEngineLiveStreamState:taskID:url:
回调,通知推流任务已删除。 - (int) reportCustomEvent: | (NSString *) | eventName | |
customIdentify: | (NSString *) | customIdentify | |
param: | (NSDictionary *) | param |
上报自定义事件
eventName | 事件名 不能为空 |
customIdentify | 自定义标识,比如产品或业务类型,如不需要填 null |
param | 参数键值对,参数值支持 String 及 java 基本类型(int 、bool....), 如不需要填 null |
- (int) resumeAllEffects |
恢复播放所有音效文件。
请在加入房间后调用该方法。
- (int) resumeAudioMixing |
恢复伴音。
通过此接口可以实现恢复播放伴音文件。
INERtcEngineEx#startAudioMixingWithOption:
开启伴音。 - (int) resumeEffectWitdId: | (uint32_t) | effectId |
恢复播放指定音效文件。
请在加入房间后调用该方法。
effectId | 指定音效的 ID。每个音效均有唯一的 ID。 |
- (int) sendData: | (NSData *) | data |
通过数据通道发送数据。
[in] | data | 自定义数据。 |
- (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 |
预设变声效果。
通过此接口可以实现将人声原音调整为多种特殊效果,改变声音特性。
INERtcEngine#leaveChannel
后设置失效,将恢复至默认,即关闭变声音效。INERtcEngineEx#setLocalVoicePitch:
方法互斥,调用了其中任一方法后,另一方法的设置会被重置为默认值。 参数名称 | 类型 | 描述 |
---|---|---|
type | NERtcVoiceChangerType | 预设的变声音效。默认关闭变声音效。 |
- (int) setAudioFrameObserver: | (nullable id< NERtcEngineAudioFrameObserver >) | observer |
注册语音观测器对象。
通过此接口可以设置音频采集/播放 PCM 回调,可用于声音处理等操作。
参数名称 | 类型 | 描述 |
---|---|---|
observer | NERtcEngineAudioFrameObserver | 接口对象实例。如果传入参数为 NULL,取消注册,同时会清理 NERtcAudioFrameRequestFormat 的相关设置。 |
NERtcEngineAudioFrameObserver#onNERtcEngineAudioFrameDidRecord:
:采集音频数据回调,用于声音处理等操作。NERtcEngineAudioFrameObserver#onNERtcEngineSubStreamAudioFrameDidRecord:
:本地音频辅流数据回调,用于自定义音频辅流数据。NERtcEngineAudioFrameObserver#onNERtcEngineAudioFrameWillPlayback:
:播放音频数据回调,用于声音处理等操作。NERtcEngineAudioFrameObserver#onNERtcEngineMixedAudioFrame:
:获取本地用户和所有远端用户混音后的原始音频数据。NERtcEngineAudioFrameObserver#onNERtcEnginePlaybackAudioFrameBeforeMixingWithUserID:frame:channelId:
:获取指定远端用户混音前的音频数据。NERtcEngineAudioFrameObserver#onNERtcEnginePlaybackSubStreamAudioFrameBeforeMixingWithUserID:frame:channelId:
:获取指定远端用户混音前的音频辅流数据。 - (int) setAudioMixingPitch: | (int32_t) | pitch |
设置当前伴音文件的音调。
INERtcEngineEx#startAudioMixingWithOption:
方法开启伴音。 参数名称 | 类型 | 描述 |
---|---|---|
pitch | int32_t | 当前伴音文件的音调。默认值为 0,即不调整音调,取值范围为 -12 ~ 12,按半音音阶调整。每相邻两个值的音高距离相差半音;取值的绝对值越大,音调升高或降低得越多。 |
INERtcEngineEx#getAudioMixingPitch:
方法获取伴音文件的音调。 - (int) setAudioMixingPlaybackVolume: | (uint32_t) | volume |
调节伴奏播放音量。
该方法调节混音里伴奏的播放音量大小。请在房间内调用该方法。
volume | 伴奏播放音量。取值范围为 0~200。默认 100,即原始文件音量。 |
- (int) setAudioMixingPosition: | (uint64_t) | position |
设置音乐文件的播放位置。
该方法可以设置音频文件的播放位置,这样您可以根据实际情况播放文件,而非从头到尾播放整个文件。
position | 音乐文件的播放位置,单位为毫秒。 |
- (int) setAudioMixingSendVolume: | (uint32_t) | volume |
设置伴奏的发送音量。
volume | 伴奏发送音量。取值范围为 0~200。默认 100,即原始文件音量。 |
- (int) setAudioRecvRange: | (int) | audibleDistance | |
conversationalDistance: | (int) | conversationalDistance | |
rollOff: | (NERtcDistanceRolloffModel) | rollOff |
设置空间音效的距离衰减属性和语音范围。
audibleDistance | 监听器能够听到扬声器并接收其语音的距离扬声器的最大距离。距离有效范围:[1,max int),无默认值。 |
conversationalDistance | 范围语音场景中,该参数设置的值不起作用,保持默认值即可。空间音效场景中,需要配置该参数。 控制音频保持其原始音量的范围,超出该范围时,语音聊天的响度在被听到时开始淡出。 默认值为 1。 |
rollOff | 范围语音场景中,该参数设置的值不起作用,保持默认值即可。空间音效场景中,需要配置该参数。 距离衰减模式,具体请参考 NERtcDistanceRolloffModel ,默认值为 kNERtcDistanceRolloffNone。 |
- (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 |
设置本地摄像头的视频主流采集配置。
通过此接口可以设置本地摄像头采集的主流视频宽度、高度、旋转角度等。
INERtcEngineEx#setCameraCaptureConfig:streamType:
方法。参数名称 | 类型 | 描述 |
---|---|---|
config | NERtcCameraCaptureConfiguration | 本地摄像头采集配置。 |
- (int) setCameraCaptureConfig: | (NERtcCameraCaptureConfiguration *) | config | |
streamType: | (NERtcStreamChannelType) | streamType |
设置本地摄像头的视频主流或辅流采集配置。
通过此接口可以设置本地摄像头采集的主流或辅流视频宽度、高度、旋转角度等。
参数名称 | 类型 | 描述 |
---|---|---|
config | NERtcCameraCaptureConfiguration | 本地摄像头采集配置。 |
streamType | NERtcStreamChannelType | 视频通道类型:
|
- (int) setCameraExposurePosition: | (CGPoint) | positionInView |
设置摄像头的手动曝光位置。
通过此接口实现设置摄像头的手动曝光位置前,建议先通过 INERtcEngineEx#isCameraExposurePositionSupported
接口检测设备是否支持手动曝光功能。
INERtcEngineEx#startPreview:
或 INERtcEngine#enableLocalVideo:streamType:
之后。 参数名称 | 类型 | 描述 |
---|---|---|
positionInView | CGPoint | 曝光位置点。 |
NERtcEngineDelegateEx#onNERtcCameraExposureChanged:
回调。 - (int) setCameraFocusPositionX: | (float) | focusX | |
Y: | (float) | focusY |
设置摄像头的手动曝光位置。
通过此接口实现设置摄像头的手动曝光位置前,建议先通过 INERtcEngineEx#isCameraFocusSupported
接口检测设备是否支持手动曝光功能。
INERtcEngineEx#startPreview:
或 INERtcEngine#enableLocalVideo:streamType:
之后。 参数名称 | 类型 | 描述 |
---|---|---|
focusX | float | 触摸点相对于视图的横坐标,取值范围为 0 ~ 1。 |
focusY | float | 触摸点相对于视图的纵坐标,取值范围为 0 ~ 1。 |
NERtcEngineDelegateEx#onNERtcCameraFocusChanged:
回调。 - (int) setCameraTorchOn: | (BOOL) | on |
设置是否打开闪光灯。
on | YES 表示开启;NO 表示关闭。 |
- (int) setCameraZoomFactor: | (float) | factor |
设置摄像头缩放比例。
通过此接口实现设置摄像头缩放比例前,建议先通过 INERtcEngineEx#maxCameraZoomScale
接口查看摄像头支持的最大缩放比例,并根据实际需求合理设置需要的缩放比例。
INERtcEngineEx#startPreview:
或 INERtcEngine#enableLocalVideo:streamType:
之后。 参数名称 | 类型 | 描述 |
---|---|---|
factor | float | 摄像头缩放比例。 |
- (int) setCloudProxy: | (NERtcTransportType) | proxyType |
开启并设置云代理服务。
在内网环境下,如果用户防火墙开启了网络限制,请参考《使用云代理》将指定 IP 地址和端口号加入防火墙白名单,然后调用此方法开启云代理,并将 proxyType 参数设置为 NERtcTransportTypeUDPProxy(1),即指定使用 UDP 协议的云代理。
onNERtcEngineConnectionStateChangeWithState(kNERtcConnectionStateConnecting, kNERtcReasonConnectionChangedSettingProxyServer)
回调。setCloudProxy(NERtcTransportTypeNoneProxy)
。 proxyType | 云代理类型。详细信息请参考 NERtcTransportType 。该参数为必填参数,若未赋值,SDK 会报错。 |
0
方法调用成功,其他失败。 - (int) setEarbackVolume: | (uint32_t) | volume |
设置耳返音量。
volume | 设置耳返音量,可设置为 0~100,默认为 100。 |
- (int) setEffectPitchWithId: | (uint32_t) | effectId | |
pitch: | (int32_t) | pitch |
设置指定音效文件的音调。
INERtcEngineEx#playEffectWitdId:effectOption:
方法播放音效。 参数名称 | 类型 | 描述 |
---|---|---|
effectId | uint32_t | 指定音效文件的 ID。每个音效文件均对应唯一的 ID。 |
pitch | int32_t | 指定音效文件的音调。默认值为 0,即不调整音调,取值范围为 -12 ~ 12,按半音音阶调整。每相邻两个值的音高距离相差半音;取值的绝对值越大,音调升高或降低得越多。 |
INERtcEngineEx#getEffectPitchWithId:pitch:
方法获取指定音效文件的音调。 - (int) setEffectPlaybackVolumeWithId: | (uint32_t) | effectId | |
volume: | (uint32_t) | volume |
获取音效文件播放音量。
请在加入房间后调用该方法。
effectId | 指定音效的 ID。每个音效均有唯一的 ID。 |
volume | 音效播放音量。范围为 0~100,默认为 100。 |
- (int) setEffectPositionWithId: | (uint32_t) | effectId | |
position: | (uint64_t) | position |
设置指定音效文件的播放位置。
INERtcEngineEx#playEffectWitdId:effectOption:
方法播放音效。 参数名称 | 类型 | 描述 |
---|---|---|
effectId | uint32_t | 指定音效文件的 ID。每个音效文件均对应唯一的 ID。 |
position | uint64_t | 指定音效文件的起始播放位置。单位为毫秒。 |
INERtcEngineEx#getEffectCurrentPositionWithId:position:
:获取指定音效文件的当前播放位置。NERtcEngineDelegateEx#onAudioEffectTimestampUpdateWithId:timeStampMS:
:注册此回调实时获取指定音效文件的当前播放进度,默认为每隔 1s 返回一次。 - (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 |
设置外部音频渲染。
通过此接口可以实现启用外部音频渲染,并设置音频渲染的采样率、声道数等。
INERtcEngine#leaveChannel
后仍然有效;如果需要关闭该功能,需要在下次通话前调用此接口关闭外部音频数据渲染功能。enable
参数为 NO 关闭该功能时,其他参数可传入任意合法值,均不会生效。 参数名称 | 类型 | 描述 |
---|---|---|
enabled | BOOL | 是否开启外部音频渲染:
|
sampleRate | int32_t | 外部音频渲染的采样率,单位为赫兹(Hz),可设置为 16000,32000,44100 或 48000。 |
channels | int32_t | 外部音频渲染的声道数,可设置为:
|
INERtcEngineEx#pullExternalAudioFrame:length:
方法获取音频 PCM 数据,用以后续自行渲染并播放。 - (int) setExternalAudioSource: | (BOOL) | enabled | |
sampleRate: | (int32_t) | sampleRate | |
channels: | (int32_t) | channels |
开启或关闭外部音频源数据输入。
通过本接口可以实现创建自定义的外部音频源,并通过主流通道传输该外部音频源的数据。
INERtcEngine#enableLocalAudio:
接口关闭本地音频采集之后调用该方法。 INERtcEngine#leaveChannel
后仍然有效;如果需要关闭该功能,需要在下次通话前调用此接口关闭外部音频数据输入功能。参数名称 | 类型 | 描述 |
---|---|---|
enabled | BOOL | 是否开启外部音频输入:
|
sampleRate | int32_t | 外部音频源的数据采样率,单位为 Hz。建议设置为 8000,16000,32000,44100 或 48000。 |
channels | int32_t | 外部音频源的数据声道数:
|
INERtcEngineEx#pushExternalAudioFrame:
方法发送音频 PCM 数据。INERtcEngineEx#setExternalSubStreamAudioSource:sampleRate:channels:
方法。 - (int) setExternalSubStreamAudioSource: | (BOOL) | enabled | |
sampleRate: | (int32_t) | sampleRate | |
channels: | (int32_t) | channels |
开启或关闭外部音频辅流数据源输入。
通过本接口可以实现创建自定义的外部音频源,并通过辅流通道传输该外部音频源的数据。
INERtcEngine#enableLocalAudio:
接口关闭本地音频采集之后调用该方法。 INERtcEngine#leaveChannel
后仍然有效;如果需要关闭该功能,需要在下次通话前调用此接口关闭外部音频数据输入功能。参数名称 | 类型 | 描述 |
---|---|---|
enabled | BOOL | 是否开启外部音频输入:
|
sampleRate | int32_t | 外部音频源的数据采样率,单位为 Hz。建议设置为 8000,16000,32000,44100 或 48000。 |
channels | int32_t | 外部音频源的数据声道数:
|
INERtcEngineEx#pushExternalSubStreamAudioFrame:
方法发送音频 PCM 数据。 - (int) setExternalVideoSource: | (BOOL) | enable | |
isScreen: | (BOOL) | isScreen |
INERtcEngineEx#setExternalVideoSource:streamType:
方法代替。注意,如果已经调了此方法,将会导致再 INERtcEngine#setExternalVideoSource:streamType:
方法失效。 开启或关闭外部视频源数据输入。 INERtcEngine#enableLocalVideo:streamType:
接口关闭本地视频设备采集之后调用该方法。 INERtcEngineEx#startPreview:
接口开启本地视频预览、通过 INERtcEngine#enableLocalVideo:streamType:
接口开启本地视频采集或通过 INERtcEngineEx#startScreenCapture:
接口开启屏幕共享之前调用该方法,且必须使用同一种视频通道,即同为主流。 INERtcEngine#leaveChannel
后仍然有效;如果需要关闭该功能,需要在下次通话前调用此接口关闭外部视频数据输入功能。参数名称 | 类型 | 描述 |
---|---|---|
enable | BOOL | 是否开启外部视频输入:
|
isScreen | BOOL | 使用外部视频源时,外部视频源是否为屏幕共享数据:
|
INERtcEngineEx#pushExternalAudioFrame:
方法推送视频数据帧。INERtcEngineEx#setExternalVideoSource:streamType:
方法。 - (int) setExternalVideoSource: | (BOOL) | enable | |
streamType: | (NERtcStreamChannelType) | streamType |
开启或关闭外部视频源数据输入。
通过本接口可以实现创建自定义的外部视频源,您可以选择通过主流或辅流通道传输该外部视频源的数据,但暂不支持同时开启。
INERtcEngineEx#startPreview:
接口开启本地视频预览、通过 INERtcEngine#enableLocalVideo:streamType:
接口开启本地视频采集或通过 INERtcEngineEx#startScreenCapture:
接口开启屏幕共享之前调用该方法,且必须使用同一种视频通道,即同为主流或辅流。 INERtcEngine#enableLocalVideo:streamType:
方法开启本地主流视频采集,请勿再调用此接口创建主流形式的外部视频源输入,辅流通道同理。INERtcEngineEx#setExternalVideoSource:isScreen:
,此方法会不生效。 参数名称 | 类型 | 描述 |
---|---|---|
streamType | NERtcStreamChannelType | 视频通道类型:
|
enable | BOOL | 是否使用外部视频源:
|
- (int) setLocalMediaPriority: | (NERtcMediaPriorityType) | priority | |
preemptive: | (BOOL) | preemptive |
设置本地用户的媒体流优先级。
通过此接口可以实现设置某用户的媒体流优先级为高,从而弱网环境下 SDK 会优先保证其他用户收到的该用户媒体流的质量。
INERtcEngine#switchChannelWithToken:channelName:channelOptions:completion:
方法快速切换房间后,媒体优先级会恢复为默认值,即普通优先级。 参数名称 | 类型 | 描述 |
---|---|---|
priority | NERtcMediaPriorityType | 本地用户的媒体流优先级,默认为 kNERtcMediaPriorityNormal,即普通优先级。 |
preemptive | BOOL | 是否开启抢占模式:
|
- (int) setLocalPublishFallbackOption: | (NERtcStreamFallbackOptions) | option |
设置弱网条件下发布的音视频流回退选项。
在网络不理想的环境下,发布的音视频质量都会下降。使用该接口并将 option 设置为 kNERtcStreamFallbackOptionAudioOnly 后:
option | 发布音视频流的回退选项,默认为不开启回退。 详细信息请参考 NERtcStreamFallbackOptions 。 |
- (int) setLocalRenderScaleMode: | (NERtcVideoRenderScaleMode) | mode |
设置画布中本地视频画面的显示模式。
通过本接口可以实现设置本地视频画面的适应性,即是否裁剪或缩放。
INERtcEngine#setupLocalVideoCanvas:
方法设置本地视图之后才生效。 参数名称 | 类型 | 描述 |
---|---|---|
mode | NERtcVideoRenderScaleMode | 视频显示模式类型:
|
- (int) setLocalRenderScaleMode: | (NERtcVideoRenderScaleMode) | mode | |
streamType: | (NERtcStreamChannelType) | streamType |
设置画布中本地视频画面的显示模式。
通过本接口可以实现设置本地视频画面的适应性,即是否裁剪或缩放。
INERtcEngine#setupLocalVideoCanvas:
方法设置本地视图之后才生效。 参数名称 | 类型 | 描述 |
---|---|---|
mode | NERtcVideoRenderScaleMode | 视频显示模式类型:
|
streamType | NERtcStreamChannelType | 视频通道类型:
|
- (int) setLocalRenderSubStreamScaleMode: | (NERtcVideoRenderScaleMode) | mode |
设置画布中本地屏幕共享辅流视频画面的显示模式。
通过本接口可以实现设置本地发布的屏幕共享视频画面的适应性,即是否裁剪或缩放。
INERtcEngineEx#setupLocalSubStreamVideoCanvas:
方法设置本地辅流画布。 参数名称 | 类型 | 描述 |
---|---|---|
mode | NERtcVideoRenderScaleMode | 视频显示模式类型:
|
- (int) setLocalVideoWatermarkConfigs: | (nullable NERtcVideoWatermarkConfig *) | config | |
withStreamType: | (NERtcStreamChannelType) | type |
设置视频水印。水印在本地预览及发送过程中均生效。
NERtcEngineDelegateEx#onNERtcEngineLocalVideoWatermarkStateWithStreamType:state:
。 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 | bool | 是否将音频路由到扬声器:
|
INERtcEngineEx#getLoudspeakerMode:
:检查扬声器的启用状态。 NERtcEngineDelegateEx#onNERtcEngineAudioDeviceStateChangeWithDeviceID:deviceType:deviceState:
:音频路由改变回调,可以通过此回调判断当前音频播放设备。 - (int) setMixedAudioFrameParameters: | (nullable NERtcAudioFrameRequestFormat *) | format |
设置采集和播放声音混音后的音频数据格式。
通过本接口可以实现设置 NERtcEngineAudioFrameObserver#onNERtcEngineMixedAudioFrame:
回调的混音音频格式。
INERtcEngine#leaveChannel
后设置会重置为默认状态。参数名称 | 类型 | 描述 |
---|---|---|
format | NERtcAudioFrameRequestFormat | 指定 NERtcEngineAudioFrameObserver#onNERtcEngineMixedAudioFrame: 中返回数据的采样率和数据的通道数。若您希望使用音频的原始格式,format 参数传 nil 即可,默认为 nil。 |
- (int) setPlaybackAudioFrameParameters: | (nullable NERtcAudioFrameRequestFormat *) | format |
设置音频播放回调的声音格式。
通过此接口可以实现设置 SDK 播放音频 PCM 回调 NERtcEngineAudioFrameObserver#onNERtcEngineAudioFrameWillPlayback:
的采样率及声道数,同时还可以设置读写模式。在写模式下,您可以通过 NERtcEngineAudioFrameObserver#onNERtcEngineAudioFrameWillPlayback:
回调修改 PCM 数据,后续将播放修改后的音频数据。
参数名称 | 类型 | 描述 |
---|---|---|
format | NERtcAudioFrameRequestFormat | 指定 NERtcEngineAudioFrameObserver#onNERtcEngineAudioFrameWillPlayback: 中返回数据的采样率和数据的通道数。允许传入 nil,默认为 nil,表示使用音频的原始格式。 |
- (int) setPlaybackBeforeMixingAudioFrameParameters: | (nullable NERtcAudioFrameRequestFormat *) | format |
设置录制和播放声音混音后的数据格式。
该方法设置 NERtcEngineAudioFrameObserver#onNERtcEnginePlaybackAudioFrameBeforeMixingWithUserID:frame:channelId:
回调的声音格式。
INERtcEngine#leaveChannel
后重置为空。format | 指定 NERtcEngineAudioFrameObserver#onNERtcEnginePlaybackAudioFrameBeforeMixingWithUserID:frame:channelId: 中返回数据的采样率和数据的通道数。允许传入 nil,默认为 nil,表示使用音频的原始格式。详细信息请参考 NERtcAudioFrameRequestFormat 。 |
- (int) setPlayoutDeviceMute: | (bool) | muted |
设置是否静音音频播放设备。
参数名称 | 类型 | 描述 |
---|---|---|
muted | bool | 是否静音音频播放设备:
|
- (int) setPreDecodeObserver: | (nullable id< NERtcEnginePreDecodeObserver >) | observer |
注册解码前媒体数据观测器。
NERtcEnginePreDecodeObserver#onNERtcEnginePreDecoderFrame:
回调监听,返回相关解码前媒体数据。 INERtcEngine#setParameters:
接口关闭 SDK 的视频解码功能。 参数名称 | 类型 | 描述 |
---|---|---|
observer | NERtcEnginePreDecodeObserver | 接口对象实例。可以传 nil 表示取消注册。 |
NERtcEnginePreDecodeObserver#onNERtcEnginePreDecoderFrame:
:返回相关解码前媒体数据,包括用户的 UID、媒体数据类型、数据长度等。 - (int) setRangeAudioMode: | (NERtcRangeAudioMode) | mode |
设置玩家本人在房间中的范围语音模式,该设置不影响其他人。
[in] | mode | 范围语音模式,包括所有人和仅小队两种模式。具体请参考 NERtcRangeAudioMode 。 |
- (int) setRangeAudioTeamID: | (int32_t) | teamId |
设置范围语音的小队 ID。
setRangeAudioMode:
接口一起使用。 teamId | 小队 ID, 有效值: >=0。若 team_id = 0,则房间内所有人(不论范围语音的模式是所有人还是仅小队)都可以听到该成员的声音。 |
- (int) setRecordDeviceMute: | (bool) | muted |
设置是否静音音频采集设备。
参数名称 | 类型 | 描述 |
---|---|---|
muted | bool | 是否静音音频采集设备:
|
INERtcEngine#enableLocalAudio:
:开启或关闭本地音频采集和发送INERtcEngine#enableMediaPub:withMediaType:
:开启或关闭本地媒体流(主流)的发送;适用于单独开启麦克风但不发送音频的场景,比如会议场景、大房间。INERtcEngineEx#muteLocalAudio:
:开启或关闭本地音频主流的发送;适用于需要频繁静音\取消静音操作的场景。INERtcEngineEx#adjustRecordingSignalVolume:
:调节采集信号音量;适用于需要精确调整本地音频采集(包括外部输入)音量的场景,比如 KTV、语聊房。 - (int) setRecordingAudioFrameParameters: | (nullable NERtcAudioFrameRequestFormat *) | format |
设置采集的音频格式。
通过本接口可以实现设置 NERtcEngineAudioFrameObserver#onNERtcEngineAudioFrameDidRecord:
回调的录制声音格式。
参数名称 | 类型 | 描述 |
---|---|---|
format | NERtcAudioFrameRequestFormat | 指定 NERtcEngineAudioFrameObserver#onNERtcEngineAudioFrameDidRecord: 中返回数据的采样率和数据的通道数。 |
- (int) setRemoteHighPriorityAudioStream: | (BOOL) | enable | |
forUserID: | (uint64_t) | userID | |
streamType: | (NERtcAudioStreamType) | streamType |
设置远端用户音频流的高优先级。 支持在音频自动订阅的情况下,设置某一个远端用户的音频为最高优先级,可以优先听到该用户的音频。
enable | 是否设置音频订阅优先级。
|
userID | 用户 ID |
streamType | 订阅音频流的类型。默认为 kNERtcAudioStreamMain。 |
- (int) setRemoteRenderScaleMode: | (NERtcVideoRenderScaleMode) | mode | |
forUserID: | (uint64_t) | userID |
设置画布中远端视频画面的显示模式。
通过本接口可以实现设置远端视频画面的适应性,即是否裁剪或缩放。
INERtcEngineEx#subscribeRemoteVideo:forUserID:streamType:
方法订阅指定远端用户的视频流。 INERtcEngine#setupRemoteVideoCanvas:forUserID:
设置远端用户视图之后才生效。 参数名称 | 类型 | 描述 |
---|---|---|
mode | NERtcVideoRenderScaleMode | 视频显示模式类型:
|
userID | uint64_t | 远端用户 ID。 |
- (int) setRemoteRenderScaleMode: | (NERtcVideoRenderScaleMode) | mode | |
forUserID: | (uint64_t) | userID | |
streamType: | (NERtcStreamChannelType) | streamType |
设置画布中远端视频画面的显示模式。
通过本接口可以实现设置远端视频画面的适应性,即是否裁剪或缩放。
INERtcEngineEx#subscribeRemoteVideo:forUserID:streamType:
方法订阅指定远端用户的视频流。 INERtcEngine#setupRemoteVideoCanvas:forUserID:
设置远端用户视图之后才生效。 参数名称 | 类型 | 描述 |
---|---|---|
mode | NERtcVideoRenderScaleMode | 视频显示模式类型:
|
userID | uint64_t | 远端用户 ID。 |
streamType | NERtcStreamChannelType | 视频通道类型:
|
- (int) setRemoteRenderSubStreamVideoScaleMode: | (NERtcVideoRenderScaleMode) | mode | |
forUserID: | (uint64_t) | userID |
设置画布中远端屏幕共享视频画面的显示模式。
通过本接口可以实现设置远端发布的屏幕共享视频画面的适应性,即是否裁剪或缩放。
INERtcEngineEx#subscribeRemoteSubStreamAudio:forUserID:
方法订阅指定远端用户的屏幕共享流。 参数名称 | 类型 | 描述 |
---|---|---|
mode | NERtcVideoRenderScaleMode | 视频显示模式类型:
|
userID | uint64_t | 远端用户 ID。 |
- (int) setRemoteSubscribeFallbackOption: | (NERtcStreamFallbackOptions) | option |
设置弱网条件下订阅的音视频流回退选项。
弱网环境下,订阅的音视频质量会下降。通过该接口设置订阅音视频流的回退选项后:
option | 订阅音视频流的回退选项,默认为弱网时回退到视频小流。详细信息请参考 NERtcStreamFallbackOptions 。 |
- (int) setSpatializerRenderMode: | (NERtcSpatializerRenderMode) | mode |
设置空间音效的渲染模式
enableSpatializer:applyToTeam:
接口启用空间音效,再调用本接口。 mode | 渲染模式,具体请参考 #NERtcSpatializerRenderMode,默认值 #kNERtcSpatializerRenderBinauralHighQuality |
- (int) setSpatializerRoomProperty: | (NERtcSpatializerRoomProperty *) | roomProperty |
设置空间音效的房间混响属性
enableSpatializer:applyToTeam:
接口启用空间音效,再调用本接口。 roomProperty | 房间属性,具体请参考 NERtcSpatializerRoomProperty |
- (void) setStreamAlignmentProperty: | (BOOL) | enable |
开启精准对齐。 通过此接口可以实现精准对齐功能,对齐本地系统与服务端的时间。
参数名称 | 类型 | 描述 |
---|---|---|
enable | BOOL | 是否开启精准对齐功能:
|
INERtcEngineEx#getNtpTimeOffset
方法获取本地系统时间与服务端时间的差值。 - (int) setSubscribeAudioAllowlist: | (NSArray< NSNumber * > *) | uidArray |
您可以调用该方法指定只订阅的音频流。
[in] | uid_array | 只订阅此 用户 uid 列表 的音频。 此列表为全量列表。如果列表为空或 null,取消订阅白名单。 |
- (int) setSubscribeAudioBlocklist: | (NERtcAudioStreamType) | type | |
uidArray: | (NSArray< NSNumber * > *) | uidArray |
您可以调用该方法指定不订阅的音频流。
[in] | type | 音频流类型。 |
[in] | uidArray | 不订阅此 用户 uid 列表 的音频。 此列表为全量列表。如果列表为空或 null,取消订阅黑名单。 |
- (int) setupLocalSubStreamVideoCanvas: | (nullable NERtcVideoCanvas *) | canvas |
设置本端用户的视频辅流画布。
通过此接口可以实现设置本端用户的辅流显示视图。
参数名称 | 类型 | 描述 |
---|---|---|
canvas | NERtcVideoCanvas * | 视频画布。详细信息请参考 NERtcVideoCanvas 。 |
- (int) setupLocalVideoCanvas: | (nullable NERtcVideoCanvas *) | canvas | |
streamType: | (NERtcStreamChannelType) | streamType |
设置本地用户视图。
通过本接口可以实现绑定本地用户和显示视图,并设置本地用户视图在本地显示时的镜像模式和裁减比例,只影响本地用户看到的视频画面。
参数名称 | 类型 | 描述 |
---|---|---|
canvas | NERtcVideoCanvas | 本地用户视频的画布。设置为 nil 表示取消并释放已设置的画布。 |
streamType | NERtcStreamChannelType | 视频流通道类型,默认为主流 kNERtcStreamChannelTypeMainStream。 |
INERtcEngineEx#setLocalRenderScaleMode:
方法。 - (int) setupRemoteSubStreamVideoCanvas: | (nullable NERtcVideoCanvas *) | canvas | |
forUserID: | (uint64_t) | userID |
设置远端用户的视频辅流画布。
通过此接口可以实现绑定远端用户和对应辅流的显示视图,即指定某个 uid 使用对应的画布显示。
NERtcEngineDelegate#onNERtcEngineUserDidJoinWithUserID:userName:joinExtraInfo:
回调后,再调用此接口通过回调返回的 uid 设置对应视图。 参数名称 | 类型 | 描述 |
---|---|---|
canvas | NERtcVideoCanvas * | 视频画布。详细信息请参考 NERtcVideoCanvas 。 |
userID | uint64_t | 远端用户 ID。 |
INERtcEngineEx#setRemoteRenderScaleMode:forUserID:
方法在通话过程中更新远端用户视图的渲染模式。 - (int) setupRemoteVideoCanvas: | (nullable NERtcVideoCanvas *) | canvas | |
forUserID: | (uint64_t) | userID | |
streamType: | (NERtcStreamChannelType) | streamType |
设置远端用户的视频辅流画布。
通过此接口可以实现绑定远端用户和对应辅流的显示视图,即指定某个 uid 使用对应的画布显示。
NERtcEngineDelegate#onNERtcEngineUserDidJoinWithUserID:userName:joinExtraInfo:
回调后,再调用此接口通过回调返回的 uid 设置对应视图。 参数名称 | 类型 | 描述 |
---|---|---|
canvas | NERtcVideoCanvas * | 视频画布。详细信息请参考 NERtcVideoCanvas 。 |
userID | uint64_t | 远端用户 ID。 |
streamType | NERtcStreamChannelType | 流类型。详细信息请参考 NERtcStreamChannelType 。 |
INERtcEngineEx#setRemoteRenderScaleMode:forUserID:
方法在通话过程中更新远端用户视图的渲染模式。 - (int) setVideoCorrectionConfig: | (nullable NERtcVideoCorrectionConfiguration *) | config |
设置视频图像矫正参数。
config | 视频图像矫正相关参数。详细说明请参考 NERtcVideoCorrectionConfiguration 。 |
- (int) setVideoEncoderQosObserver: | (nullable id< NERtcEngineVideoEncoderQosObserver >) | encoderQosObserver |
注册视频编码 QoS 信息监听器。
NERtcEngineVideoEncoderQosObserver#onNERtcEngineRequestSendKeyFrame:
、NERtcEngineVideoEncoderQosObserver#onNERtcEngineVideoCodecUpdated:videoStreamType:
、NERtcEngineVideoEncoderQosObserver#onNERtcEngineBitrateUpdated:videoStreamType:
回调监听,并通过返回的相关视频编码数据调整视频编码策略。 INERtcEngine#leaveChannel
后仍然有效;如果需要关闭该功能,需要在下次通话前调用此接口关闭视频编码 QoS 信息监听。 参数名称 | 类型 | 描述 |
---|---|---|
encoderQosObserver | NERtcEngineVideoEncoderQosObserver | 接口对象实例。可以传 nil 表示取消注册。 |
NERtcEngineVideoEncoderQosObserver#onNERtcEngineRequestSendKeyFrame:
:I 帧请求回调。 NERtcEngineVideoEncoderQosObserver#onNERtcEngineVideoCodecUpdated:videoStreamType:
:码率信息回调。 NERtcEngineVideoEncoderQosObserver#onNERtcEngineBitrateUpdated:videoStreamType:
:视频编码器类型信息回调。 - (int) setVideoFrameObserver: | (nullable id< NERtcEngineVideoFrameObserver >) | videoframeObserver |
注册视频数据观察对象 通过此接口可以设置视频数据采集回调对象,可以用于第三方美颜等操作
- (int) setVideoRotationMode: | (NERtcVideoRotationMode) | rotationMode |
设置本地视频画面的旋转模式。
该接口用于设置本地视频画面在本地和远端设备上的旋转模式,可以指定本地画面和系统设备的横屏/竖屏模式一致、或者和 App UI 的横屏/竖屏模式一致。
rotationMode | 视频旋转模式。详细信息请参考 NERtcVideoRotationMode 。 |
- (int) setVoiceBeautifierPreset: | (NERtcVoiceBeautifierType) | type |
预设美声效果。 通过此接口可以实现为本地发流用户设置 SDK 预设的人声美声效果。
INERtcEngine#leaveChannel
后设置失效,将恢复至默认。 参数名称 | 类型 | 描述 |
---|---|---|
type | NERtcVoiceBeautifierType | 预设的美声效果模式。默认值为 kNERtcVoiceBeautifierOff,即关闭美声效果。 |
- (int) startAudioDump |
开始记录音频 dump。
音频 dump 可用于分析音频问题。
- (int) startAudioDumpWithType: | (NERtcAudioDumpType) | type |
- (int) startAudioMixingWithOption: | (NERtcCreateAudioMixingOption *) | option |
开启伴音。
通过本接口可以实现指定本地或在线音频文件和录音设备采集的音频流进行混音。
INERtcEngine#enableLocalAudio:
方法开启本地音频采集(V4.4.0 版本除外)。 参数名称 | 类型 | 描述 |
---|---|---|
option | NERtcCreateAudioMixingOption | 创建伴音任务的配置选项,包括伴音任务类型、伴音文件的绝对路径或 URL 等。 |
NERtcEngineDelegateEx#onAudioMixingStateChanged:errorCode:
:本地用户的伴音文件播放状态改变时,本地会触发此回调;可通过此回调接收伴音文件播放状态改变的相关信息,若播放出错,可通过对应错误码排查故障,详细信息请参考 NERtcAudioMixingErrorCode
。NERtcEngineDelegateEx#onAudioMixingTimestampUpdate:
:本地用户的伴音文件播放进度回调。 - (int) startAudioRecording: | (NSString *) | filePath | |
sampleRate: | (int) | sampleRate | |
quality: | (NERtcAudioRecordingQuality) | quality |
开启客户端本地录音。 通过此接口可以实现录制客户端房间内所有用户混音后的音频流,并将其保存在一个本地录音文件中。
INERtcEngineEx#startAudioRecording:sampleRate:quality:
方法,会结束当前录制任务,并重新开始新的录音任务。 本端用户离开房间时,自动停止录音;也可以在通话中随时调用 INERtcEngineEx#stopAudioRecording
方法以实现手动停止录音。 请保证录音文件的保存路径存在并且可写,目前支持 WAV(音质保真度高,文件大)、AAC(音质保真度低,文件小)格式的文件。 参数名称 | 类型 | 描述 |
---|---|---|
filePath | NSString * | 录音文件在本地保存的绝对路径,需要精确到文件名及格式,例如:sdcard/xxx/audio.aac。 |
sampleRate | int | 录音采样率。单位为赫兹(Hz),可以设置为 16000、32000(默认)、44100 或 48000。 |
quality | NERtcAudioRecordingQuality | 录音音质。此参数仅在 AAC 格式下有效。 |
NERtcEngineDelegateEx#onNERtcEngineAudioRecording:filePath:
回调,通知音频录制任务状态已更新。音频录制状态码请参考 NERtcAudioRecordingCode
。 - (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 |
开启视频预览。
通过本接口可以实现在加入房间前启动本地视频预览,支持预览本地摄像头或外部输入视频。
INERtcEngine#setupLocalVideoCanvas:
接口设置视频画布后调用该方法。 INERtcEngineEx#startPreview:
方法。 - (int) startPreview: | (NERtcStreamChannelType) | streamType |
开启视频预览。
通过本接口可以实现在加入房间前启动本地视频预览,支持预览本地摄像头或外部输入视频。
INERtcEngine#setupLocalVideoCanvas:
接口设置视频画布后调用该方法。 参数名称 | 类型 | 描述 |
---|---|---|
streamType | video.NERtcStreamChannelType | 视频通道类型:
|
- (int) startPushStreaming: | (NERtcPushStreamingConfig *) | config |
开始推流。
通过本接口可以实现将 RTMP 流推到指定的地址。
参数名称 | 类型 | 描述 |
---|---|---|
config | NERtcPushStreamingConfig | 推流参数,参考 NERtcPushStreamingConfig |
- (int) startScreenCapture: | (NERtcVideoSubStreamEncodeConfiguration *) | config |
开启屏幕共享。
通过此接口开启屏幕共享后,屏幕共享内容以视频辅流的形式发送。
参数名称 | 类型 | 描述 |
---|---|---|
config | NERtcVideoSubStreamEncodeConfiguration * | 本地辅流发送配置,详细信息请参考 NERtcVideoSubStreamEncodeConfiguration 。 |
NERtcEngineDelegate#onNERtcEngineUserSubStreamDidStartWithUserID:subStreamProfile:
回调。 - (int) stopAllEffects |
停止播放所有音效文件。 通过此接口可以实现在同时播放多个音效文件时,可以一次性停止播放所有文件(含暂停播放的文件)。
INERtcEngineEx#playEffectWitdId:effectOption:
接口播放音效文件。 INERtcEngineEx#stopEffectWitdId:
方法停止播放指定音效文件。 - (int) stopAudioDump |
结束记录音频 dump。
INERtcEngineEx#startAudioDumpWithType:
方法开始记录音频 dump。 - (int) stopAudioMixing |
停止伴音。
通过本接口可以实现停止播放本地或在线音频文件,或者录音设备采集的混音音频流。
- (int) stopAudioRecording |
停止客户端本地录音。 本端用户离开房间时会自动停止本地录音,也可以通过此接口实现在通话过程中随时停止录音。
INERtcEngineEx#startAudioRecordingWithConfig:
方法开启客户端本地音频录制。 NERtcEngineDelegateEx#onNERtcEngineAudioRecording:filePath:
回调,通知音频录制任务状态已更新。音频录制状态码请参考 NERtcAudioRecordingCode
。 - (int) stopChannelMediaRelay |
停止跨房间媒体流转发。
通常在主播离开房间时,跨房间媒体流转发会自动停止;您也可以根据需要随时调用该方法,此时主播会退出所有目标房间。
INERtcEngineEx#startChannelMediaRelay:
方法开启跨房间媒体流转发之后调用此接口。 NERtcEngineDelegateEx#onNERtcEngineChannelMediaRelayStateDidChange:channelName:
:跨房间媒体流转发状态发生改变回调。成功调用该方法后会返回 NERtcChannelMediaRelayStateIdle,否则会返回 NERtcChannelMediaRelayStateFailure。 NERtcEngineDelegateEx#onNERtcEngineDidReceiveChannelMediaRelayEvent:channelName:error:
:跨房间媒体流相关转发事件回调。成功调用该方法后会返回 NERtcChannelMediaRelayEventDisconnect,否则会返回 NERtcChannelMediaRelayEventFailure。 - (int) stopEffectWitdId: | (uint32_t) | effectId |
停止播放指定音效文件。
INERtcEngineEx#playEffectWitdId:effectOption:
接口播放音效文件。 参数名称 | 类型 | 描述 |
---|---|---|
effectId | uint32_t | 指定音效文件的 ID,每个音效文件均有唯一的 ID。 |
- (int) stopLastmileProbeTest |
停止通话前网络质量探测。
- (int) stopPreview |
停止视频预览。
通过此接口可以实现在预览本地视频后关闭预览。
INERtcEngineEx#startPreview:
接口开启视频预览后调用该方法。 INERtcEngineEx#stopPreview:
方法。 - (int) stopPreview: | (NERtcStreamChannelType) | streamType |
停止视频预览。
通过本接口可以实现在预览本地视频后关闭预览。
INERtcEngineEx#startPreview:
接口开启视频预览后调用该方法。 参数名称 | 类型 | 描述 |
---|---|---|
streamType | video.NERtcStreamChannelType | 视频通道类型:
|
- (int) stopPushStreaming |
停止推流。
通过此接口可以停止当前正在进行的 rtmp 推流。
INERtcEngineEx#startPushStreaming:
接口开启推流后调用此方法。 - (int) stopScreenCapture |
关闭屏幕共享。
通过此接口可以实现关闭屏幕共享辅流。
NERtcEngineDelegate#onNERtcEngineUserSubStreamDidStop:
回调。 - (int) subscribeAllRemoteAudio: | (BOOL) | subscribe |
取消或恢复订阅所有远端用户的音频主流。
加入房间时,默认订阅所有远端用户的音频主流,即 INERtcEngine#setParameters:
方法的 kNERtcKeyAutoSubscribeAudio 参数默认设置为 YES;只有当该参数的设置为 NO 时,此接口的调用才会生效。
INERtcEngineEx#subscribeRemoteAudio:forUserID:
方法单独订阅指定远端用户的音频流。 参数名称 | 类型 | 描述 |
---|---|---|
subscribe | BOOL | 是否订阅所有用户的音频主流:
|
- (int) subscribeRemoteAudio: | (BOOL) | subscribe | |
forUserID: | (uint64_t) | userID |
取消或恢复订阅指定远端用户的音频主流。
加入房间时,默认订阅所有远端用户的音频主流,您也可以通过此方法取消或恢复订阅指定远端用户的音频主流。
NERtcEngineDelegate#onNERtcEngineUserAudioDidStart:
后可调用。 参数名称 | 类型 | 描述 |
---|---|---|
userID | uint64_t | 指定用户的 ID。 |
subscribe | BOOL | 是否订阅指定用户的音频主流:
|
INERtcEngineEx#subscribeRemoteSubStreamAudio:forUserID:
方法。 - (int) subscribeRemoteData: | (BOOL) | subscribe | |
forUserID: | (uint64_t) | userID |
取消或恢复订阅指定远端用户数据通道流。
加入房间时,默认订阅所有远端用户的数据通道流,您可以通过此方法取消或恢复订阅指定远端用户的数据通道流。
[in] | userID | 指定用户的 ID。 |
[in] | subscribe | 是否订阅远端用户数据通道流。
|
- (int) subscribeRemoteSubStreamAudio: | (BOOL) | subscribe | |
forUserID: | (uint64_t) | userID |
设置是否订阅指定远端用户的音频辅流。
NERtcEngineDelegate#onNERtcEngineUserSubStreamAudioDidStart:
后调用。 参数名称 | 类型 | 描述 |
---|---|---|
uid | uint64_t | 远端用户 ID。 |
subscribe | BOOL | 是否订阅指定音频辅流:
|
- (int) subscribeRemoteSubStreamVideo: | (BOOL) | subscribe | |
forUserID: | (uint64_t) | userID |
订阅或取消订阅远端用户的视频辅流。
INERtcEngineEx#setupRemoteSubStreamVideoCanvas:forUserID:
设置远端用户的视频辅流画布。NERtcEngineDelegate#onNERtcEngineUserSubStreamDidStartWithUserID:subStreamProfile:
后调用此接口。 参数名称 | 类型 | 描述 |
---|---|---|
userID | uint64_t | 远端用户 ID。 |
subsribe | BOOL | 是否订阅远端的视频辅流:
|
- (int) subscribeRemoteVideo: | (BOOL) | subscribe | |
forUserID: | (uint64_t) | userID | |
streamType: | (NERtcRemoteVideoStreamType) | streamType |
订阅或取消订阅指定远端用户的视频主流。
加入房间后,默认不订阅所有远端用户的视频主流;若您希望看到指定远端用户的视频,可以在监听到对方加入房间或发布视频流之后,通过此方法订阅该用户的视频主流。
参数名称 | 类型 | 描述 |
---|---|---|
userID | uint64_t | 指定用户的 ID。 |
streamType | NERtcRemoteVideoStreamType | 订阅的视频流类型:
|
subscribe | BOOL | 是否订阅远端用户的视频流:
|
INERtcEngineEx#subscribeRemoteSubStreamVideo:forUserID:
方法。 - (int) subscribeRemoteVideo: | (BOOL) | subscribe | |
forUserID: | (uint64_t) | userID | |
streamType: | (NERtcStreamChannelType) | streamType | |
subscribeType: | (NERtcRemoteVideoStreamType) | subscribeType |
订阅或取消订阅指定远端用户的视频主流。
加入房间后,默认不订阅所有远端用户的视频主流;若您希望看到指定远端用户的视频,可以在监听到对方加入房间或发布视频流之后,通过此方法订阅该用户的视频主流。
参数名称 | 类型 | 描述 |
---|---|---|
userID | uint64_t | 指定用户的 ID。 |
streamType | NERtcStreamChannelType | 视频流类型。详细信息请参考 NERtcStreamChannelType 。 |
subscribeType | NERtcRemoteVideoStreamType | 订阅的视频流类型:
|
subscribe | BOOL | 是否订阅远端用户的视频流:
|
INERtcEngineEx#subscribeRemoteVideo:forUserID:streamType:subscribeType:
方法。 - (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 |
更新房间内指定推流任务。 通过此接口可以实现调整指定推流任务的编码参数、画布布局、推流模式等。
INERtcEngineEx#addLiveStreamTask:compeltion:
方法添加推流任务。 参数名称 | 类型 | 描述 |
---|---|---|
taskInfo | NERtcLiveStreamTaskInfo * | 推流任务信息。详细信息请参考 {@ NERtcLiveStreamTaskInfo}。 |
compeltion | NERtcLiveStreamCompletion | 操作结果回调,方法调用成功后会触发对应的 NERtcEngineLiveStreamObserver#onNERTCEngineLiveStreamState:taskID:url: 回调。 |
NERtcEngineLiveStreamObserver#onNERTCEngineLiveStreamState:taskID:url:
回调,通知推流任务状态已更新。 - (int) updatePermissionKey: | (NSString *) | key |
更新权限密钥。
NERtcEngineDelegateEx#onNERtcEnginePermissionKeyWillExpire
时,更新权限密钥。 参数名称 | 类型 | 描述 |
---|---|---|
key | NSString * | 新的权限密钥。 |
NERtcEngineDelegateEx#onNERtcEngineUpdatePermissionKey:error:timeout:
回调。 - (int) updateSelfPosition: | (NERtcPositionInfo *) | info |
设置空间音效中说话者和接收者的空间位置信息。SDK 会根据该方法中的参数计算接收者和说话者之间的相对位置,进而渲染出空间音效。
enableSpatializer:applyToTeam:
接口后,再调用本接口。enableSpatializer:applyToTeam:
接口关闭空间音效后,空间位置信息会重置为默认值,您需要重新设置位置信息。 参数名称 | 描述 |
---|---|
speaker_position | 说话者的位置信息,三个值依次表示 X、Y、Z 的坐标值。默认值{0,0,0} |
speaker_quaternion | <note type="note">该参数设置的值暂时不起作用,保持默认值即可。</note>说话者的旋转信息,通过四元组来表示,数据格式为{w, x, y, z}。默认值{0,0,0,0} |
head_position | 接收者的位置信息,三个值依次表示 X、Y、Z 的坐标值。默认值{0,0,0} |
head_quaternion | 接收者的旋转信息,通过四元组来表示,数据格式为{w, x, y, z}。默认值{0,0,0,0} |
- (int) uploadSdkInfo |
上传 SDK 信息。
上传的信息包括 log 和 Audio dump 等文件。