NERtc iOS SDK
V4.6.20
|
INERtcChannel 类在指定房间中实现实时音视频功能。通过创建多个 NERtcChannel 对象,用户可以同时加入多个房间。 更多...
#import <INERtcChannel.h>
构造函数 | |
(int) | - destroy |
(int) | - setChannelDelegate: |
设置 channel 的回调。 更多... | |
(NSString *) | - getChannelName |
获取当前房间名。 更多... | |
(NERtcConnectionStateType) | - connectionState |
获取当前房间连接状态。 更多... | |
(int) | - joinChannelWithToken:completion: |
加入音视频房间。 加入音视频房间时,如果指定房间尚未创建,云信服务器内部会自动创建一个同名房间。 更多... | |
(int) | - leaveChannel |
离开房间,即挂断或退出通话。 结束通话时,必须调用leaveChannel结束通话,否则无法开始下一次通话。 成功调用该方法离开房间后,本地会触发 onNERtcEngineDidLeaveChannelWithResult 回调,远端会触发 onNERtcEngineUserDidLeaveWithUserID 回调。 更多... | |
(int) | - enableLocalAudio: |
开启/关闭本地音频采集和发送。 当 App 加入房间时,语音功能默认为开启状态。 该方法不影响接收或播放远端音频流,enableLocalAudio(NO) 适用于只下行不上行音频流的场景。 成功调用该方法后,房间内其他用户触发 onNERtcEngineUserAudioDidStart 或 onNERtcEngineUserAudioDidStop 回调。 更多... | |
(int) | - enableLocalVideo: |
是否开启本地视频采集。 更多... | |
(int) | - enableLocalVideo:streamType: |
开启或关闭本地视频的采集与发送。 通过主流或辅流视频通道进行本地视频流的采集与发送。 更多... | |
(int) | - enableMediaPub:withMediaType: |
开启或关闭本地媒体流(主流)的发送。 该方法用于开始或停止向网络发送本地音频或视频数据。 该方法不影响接收或播放远端媒体流,也不会影响本地音频或视频的采集状态。 更多... | |
(int) | - enableDualStreamMode: |
设置是否开启视频大小流模式。 该方法设置单流或者双流模式。发送端开启双流模式后,接收端可以选择接收大流还是小流。其中,大流指高分辨率、高码率的视频流,小流指低分辨率、低码率的视频流。 更多... | |
(int) | - setCameraCaptureConfig: |
设置本地摄像头的采集偏好等配置。 在视频通话或直播中,SDK 自动控制摄像头的输出参数。默认情况下,SDK 根据用户的 setLocalVideoConfig 配置匹配最合适的分辨率进行采集。但是在部分业务场景中,如果采集画面质量无法满足实际需求,可以调用该接口调整摄像头的采集配置。 更多... | |
(int) | - setCameraCaptureConfig:streamType: |
设置本地摄像头的采集配置。 通过此接口可以设置本地摄像头采集的视频宽度、高度、旋转角度等。 更多... | |
(int) | - setLocalVideoConfig: |
设置视频编码属性。 更多... | |
(int) | - setLocalVideoConfig:streamType: |
设置视频编码属性。 通过此接口可以设置视频主流或辅流的编码分辨率、裁剪模式、码率、帧率、带宽受限时的视频编码降级偏好、编码的镜像模式、编码的方向模式参数。 更多... | |
(int) | - subscribeRemoteAudio:forUserID: |
取消或恢复订阅指定远端用户音频流。 加入房间时,默认订阅所有远端用户的音频流,您可以通过此方法取消或恢复订阅指定远端用户的音频流。 更多... | |
(int) | - subscribeAllRemoteAudio: |
取消或恢复订阅所有远端用户音频流。 更多... | |
(int) | - setAudioSubscribeOnlyBy: |
设置自己的音频只能被房间内指定的人订阅。 默认房间所有其他人都可以订阅自己的音频。 更多... | |
(int) | - muteLocalAudio: |
开启或关闭本地音频主流的发送。 该方法用于向网络发送或取消发送本地音频数据。 该方法不影响接收或播放远端音频流,也不会影响本地音频的采集状态。 更多... | |
(int) | - setupLocalVideoCanvas: |
设置本地视图。 该方法设置本地视频显示信息。只影响本地用户看到的视频画面,不影响远端。 App 通过调用此接口绑定本地视频流的显示视窗(view)。 在 App 开发中,通常在初始化后调用该方法进行本地视频设置,然后再加入房间。 更多... | |
(int) | - setLocalRenderScaleMode: |
设置本端的视频显示模式。 更多... | |
(int) | - setupRemoteVideoCanvas:forUserID: |
设置远端用户视图。 该方法绑定远端用户和显示视图,并设置远端用户视图在本地显示时的渲染模式和镜像模式,只影响本地用户看到的视频画面。 更多... | |
(int) | - setRemoteRenderScaleMode:forUserID: |
设置远端的视频显示模式。 更多... | |
(int) | - subscribeRemoteVideo:forUserID:streamType: |
订阅或取消订阅指定远端用户的视频流。 更多... | |
(int) | - muteLocalVideo: |
取消或恢复发布本地视频流。 更多... | |
(int) | - muteLocalVideo:streamType: |
取消或恢复发布本地视频。 调用该方法取消发布本地视频主流或辅流后,SDK 不再发送本地视频流。 更多... | |
(int) | - setClientRole: |
在直播场景中设置用户角色。 用户角色支持设置为主播或观众,主播和观众的权限不同。 更多... | |
(int) | - adjustUserPlaybackSignalVolume:forUserID: |
调节本地播放的指定远端用户的信号音量。 加入房间后,您可以多次调用该方法设置本地播放的不同远端用户的音量;也可以反复调节本地播放的某个远端用户的音量。 更多... | |
(int) | - enableLocalSubStreamAudio: |
开启或关闭音频辅流。 开启时远端会收到 NERtcChannelDelegate#onNERtcChannelUserSubStreamAudioDidStart: 回调 ,关闭时远端会收到 NERtcChannelDelegate#onNERtcChannelUserSubStreamAudioDidStop: 回调。 更多... | |
(int) | - subscribeRemoteSubStreamAudio:forUserID: |
取消或恢复订阅指定远端用户音频辅流。 加入房间时,默认订阅所有远端用户的音频流,您可以通过此方法取消或恢复订阅指定远端用户的音频辅流。 更多... | |
(int) | - muteLocalSubStreamAudio: |
静音或解除静音本地上行的音频辅流。 更多... | |
(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) | - setRemoteHighPriorityAudioStream:forUserID:streamType: |
设置远端用户音频流的高优先级。 支持在音频自动订阅的情况下,设置某一个远端用户的音频为最高优先级,可以优先听到该用户的音频。 更多... | |
(int) | - setLocalCanvasWatermarkConfigs:withStreamType: |
添加本地视频画布水印。 更多... | |
(int) | - setRemoteCanvasWatermarkConfigs:forUserID:withStreamType: |
添加远端视频画布水印。 更多... | |
(int) | - takeLocalSnapshot:callback: |
本地视频画面截图。 调用 takeLocalSnapshot 截取本地主流或本地辅流的视频画面,并通过 NERtcTakeSnapshotCallback 的回调返回截图画面的数据。 更多... | |
(int) | - takeRemoteSnapshot:forUserID:callback: |
远端视频画面截图。 调用 takeRemoteSnapshot 截取指定 uid 远端主流和远端辅流的视频画面,并通过 NERtcTakeSnapshotCallback 的回调返回截图画面的数据。 更多... | |
(int) | - sendSEIMsg:streamChannelType: |
指定主流或辅流通道发送媒体增强补充信息(SEI)。 在本端推流传输音视频流数据同时,发送流媒体补充增强信息来同步一些其他附加信息。当推流方发送 SEI 后,拉流方可通过监听 onRecvSEIMsg 的回调获取 SEI 内容。 更多... | |
(int) | - sendSEIMsg: |
通过主流通道发送媒体增强补充信息(SEI)。 在本端推流传输音视频流数据同时,发送流媒体补充增强信息来同步一些其他附加信息。当推流方发送 SEI 后,拉流方可通过监听 onRecvSEIMsg 的回调获取 SEI 内容。 更多... | |
(int) | - addLiveStreamTask:compeltion: |
添加房间推流任务。 成功调用该方法后,当前用户可以收到该直播流的状态通知。 更多... | |
(int) | - updateLiveStreamTask:compeltion: |
更新房间推流任务。 更多... | |
(int) | - removeLiveStreamTask:compeltion: |
删除房间推流任务。 更多... | |
(int) | - addChannelMediaStatsObserver: |
注册媒体统计信息观测器。 更多... | |
(int) | - removeChannelMediaStatsObserver: |
移除指定媒体统计信息观测器。 更多... | |
(int) | - cleanupChannelMediaStatsObserver |
清除全部媒体统计信息观测器。 更多... | |
(int) | - startChannelMediaRelay: |
开始跨房间媒体流转发。 更多... | |
(int) | - updateChannelMediaRelay: |
更新媒体流转发的目标房间。 成功开始跨房间转发媒体流后,如果你希望将流转发到多个目标房间,或退出当前的转发房间,可以调用该方法。 更多... | |
(int) | - stopChannelMediaRelay |
停止跨房间媒体流转发。 主播离开房间时,跨房间媒体流转发自动停止,您也可以在需要的时候随时调用 stopChannelMediaRelay 方法,此时主播会退出所有目标房间。 更多... | |
(int) | - setLocalMediaPriority:preemptive: |
设置本地用户的媒体流优先级。 如果某个用户的优先级为高,那么该用户媒体流的优先级就会高于其他用户,弱网环境下 SDK 会优先保证其他用户收到的、高优先级用户的媒体流的质量。 更多... | |
(int) | - setLocalPublishFallbackOption: |
设置弱网条件下发布的音视频流回退选项。 在网络不理想的环境下,发布的音视频质量都会下降。使用该接口并将 option 设置为 kNERtcStreamFallbackOptionAudioOnly 后: 更多... | |
(int) | - setRemoteSubscribeFallbackOption: |
设置弱网条件下订阅的音视频流回退选项。 弱网环境下,订阅的音视频质量会下降。通过该接口设置订阅音视频流的回退选项后: 更多... | |
INERtcChannel 类在指定房间中实现实时音视频功能。通过创建多个 NERtcChannel 对象,用户可以同时加入多个房间。
- (int) addChannelMediaStatsObserver: | (id< NERtcChannelMediaStatsObserver >) | observer |
- (int) addLiveStreamTask: | (NERtcLiveStreamTaskInfo *) | taskInfo | |
compeltion: | (NERtcLiveStreamCompletion) | completion | |
添加房间推流任务。
成功调用该方法后,当前用户可以收到该直播流的状态通知。
taskInfo | 推流任务信息,详细信息请参考 NERtcLiveStreamTaskInfo。 |
completion | 操作结果回调,方法调用成功后会触发对应回调。详细信息请参考 NERtcLiveStreamCompletion。 |
- (int) adjustUserPlaybackSignalVolume: | (uint32_t) | volume | |
forUserID: | (uint64_t) | userID | |
调节本地播放的指定远端用户的信号音量。
加入房间后,您可以多次调用该方法设置本地播放的不同远端用户的音量;也可以反复调节本地播放的某个远端用户的音量。
userID | 远端用户 ID。 |
volume | 播放音量,取值范围为 [0,100]。
|
- (int) cleanupChannelMediaStatsObserver |
清除全部媒体统计信息观测器。
- (NERtcConnectionStateType) connectionState |
获取当前房间连接状态。
- (int) destroy |
- (int) enableDualStreamMode: | (BOOL) | enable |
设置是否开启视频大小流模式。
该方法设置单流或者双流模式。发送端开启双流模式后,接收端可以选择接收大流还是小流。其中,大流指高分辨率、高码率的视频流,小流指低分辨率、低码率的视频流。
enable | YES 发送双流, NO 发送单流。 |
- (int) enableLocalAudio: | (BOOL) | enabled |
开启/关闭本地音频采集和发送。
当 App 加入房间时,语音功能默认为开启状态。
该方法不影响接收或播放远端音频流,enableLocalAudio(NO) 适用于只下行不上行音频流的场景。
成功调用该方法后,房间内其他用户触发 onNERtcEngineUserAudioDidStart 或 onNERtcEngineUserAudioDidStop 回调。
enabled | 是否开启本地音频采集。 |
- (int) enableLocalSubStreamAudio: | (BOOL) | enabled |
开启或关闭音频辅流。
开启时远端会收到 NERtcChannelDelegate#onNERtcChannelUserSubStreamAudioDidStart: 回调 ,关闭时远端会收到 NERtcChannelDelegate#onNERtcChannelUserSubStreamAudioDidStop: 回调。
enabled | 是否开启音频辅流。
|
- (int) enableLocalVideo: | (BOOL) | enabled |
是否开启本地视频采集。
enabled | 是否开启本地视频采集。 |
- (int) enableLocalVideo: | (BOOL) | enabled | |
streamType: | (NERtcStreamChannelType) | streamType | |
开启或关闭本地视频的采集与发送。
通过主流或辅流视频通道进行本地视频流的采集与发送。
参数名称 | 类型 | 描述 |
---|---|---|
streamType | NERtcStreamChannelType | 视频通道类型:
|
enabled | BOOL | 是否开启本地视频采集与发送:
|
- (int) enableMediaPub: | (BOOL) | enabled | |
withMediaType: | (NERtcMediaPubType) | mediaType | |
开启或关闭本地媒体流(主流)的发送。
该方法用于开始或停止向网络发送本地音频或视频数据。
该方法不影响接收或播放远端媒体流,也不会影响本地音频或视频的采集状态。
enabled | 是否发布本地媒体流。
|
mediaType | 媒体发布类型,暂时仅支持音频。 |
- (NSString *) getChannelName |
获取当前房间名。
- (int) joinChannelWithToken: | (NSString *) | token | |
completion: | (NERtcJoinChannelCompletion) | completion | |
加入音视频房间。
加入音视频房间时,如果指定房间尚未创建,云信服务器内部会自动创建一个同名房间。
token | 安全认证签名(NERTC Token)。可设置为:
|
completion | 操作完成的 block 回调。 |
- (int) leaveChannel |
离开房间,即挂断或退出通话。
结束通话时,必须调用leaveChannel结束通话,否则无法开始下一次通话。
成功调用该方法离开房间后,本地会触发 onNERtcEngineDidLeaveChannelWithResult 回调,远端会触发 onNERtcEngineUserDidLeaveWithUserID 回调。
- (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) removeChannelMediaStatsObserver: | (id< NERtcChannelMediaStatsObserver >) | observer |
移除指定媒体统计信息观测器。
observer | 统计信息观测器 |
- (int) removeLiveStreamTask: | (NSString *) | taskId | |
compeltion: | (NERtcLiveStreamCompletion) | completion | |
删除房间推流任务。
taskId | 推流任务 ID。 |
completion | 操作结果回调,方法调用成功后会触发对应回调。详细信息请参考 NERtcLiveStreamCompletion。 |
- (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) 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) setChannelDelegate: | (id< NERtcChannelDelegate >) | channelDelegate |
设置 channel 的回调。
channelDelegate | channel 的回调对象。 |
- (int) setClientRole: | (NERtcClientRole) | role |
在直播场景中设置用户角色。
用户角色支持设置为主播或观众,主播和观众的权限不同。
如果你在加入频道后调用该方法切换角色,调用成功后会收到以下回调:
role | 用户角色。详细信息请参考 NERtcClientRole。 |
- (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) setLocalVideoConfig: | (NERtcVideoEncodeConfiguration *) | config |
设置视频编码属性。
width
和 height
进行自定义设置摄像头采集视频的编码分辨率。详细信息请参考设置视频属性。 setLocalVideoConfig
方法实时生效;此前的版本中,setLocalVideoConfig
方法设置成功后,下次开启本端视频时生效。config | 视频编码属性配置,详细信息请参考 NERtcVideoEncodeConfiguration。 |
- (int) setLocalVideoConfig: | (NERtcVideoEncodeConfiguration *) | config | |
streamType: | (NERtcStreamChannelType) | streamType | |
设置视频编码属性。
通过此接口可以设置视频主流或辅流的编码分辨率、裁剪模式、码率、帧率、带宽受限时的视频编码降级偏好、编码的镜像模式、编码的方向模式参数。
参数名称 | 类型 | 描述 |
---|---|---|
config | NERtcVideoEncodeConfiguration | 视频编码属性配置。 |
streamType | NERtcStreamChannelType | 视频通道类型:
|
- (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。 |
- (int) setupLocalSubStreamVideoCanvas: | (NERtcVideoCanvas *) | canvas |
设置本地辅流视频画布。
该方法设置本地辅流视频显示信息。App 通过调用此接口绑定本地辅流的显示视窗(view)。 在 App 开发中,通常在初始化后调用该方法进行本地视频设置,然后再加入房间。
canvas | 视频画布。详细信息请参考 NERtcVideoCanvas。删除画布设置时请传 nil。 |
- (int) setupLocalVideoCanvas: | (NERtcVideoCanvas *_Nullable) | canvas |
设置本地视图。
该方法设置本地视频显示信息。只影响本地用户看到的视频画面,不影响远端。 App 通过调用此接口绑定本地视频流的显示视窗(view)。 在 App 开发中,通常在初始化后调用该方法进行本地视频设置,然后再加入房间。
canvas | 视频画布。详细信息请参考 NERtcVideoCanvas。如果需要删除则传 nil。 |
- (int) setupRemoteSubStreamVideoCanvas: | (NERtcVideoCanvas *) | canvas | |
forUserID: | (uint64_t) | userID | |
设置远端的辅流视频画布。
该方法绑定远端用户和辅流显示视图,即指定某个 userID 使用对应的画布显示。
userID | 远端用户 ID。 |
canvas | 视频画布。详细信息请参考 NERtcVideoCanvas。删除画布设置时请传 nil。 |
- (int) setupRemoteVideoCanvas: | (NERtcVideoCanvas *_Nullable) | canvas | |
forUserID: | (uint64_t) | userID | |
设置远端用户视图。
该方法绑定远端用户和显示视图,并设置远端用户视图在本地显示时的渲染模式和镜像模式,只影响本地用户看到的视频画面。
userID | 远端用户 ID。 |
canvas | 视频窗口。详细信息请参考 NERtcVideoCanvas。如果需要删除则传 nil。 |
- (int) startChannelMediaRelay: | (NERtcChannelMediaRelayConfiguration *_Nonnull) | config |
开始跨房间媒体流转发。
config | 跨房间媒体流转发参数配置信息。详细信息请参考 NERtcChannelMediaRelayConfiguration。 |
- (int) startScreenCapture: | (NERtcVideoSubStreamEncodeConfiguration *) | config |
开启屏幕共享,屏幕共享内容以辅流形式发送。
只能在加入房间后调用。
如果您在加入房间后调用该方法开启辅流,调用成功后,远端触发 onNERtcEngineUserSubStreamDidStartWithUserID 回调。
config | 本地辅流发送配置,详细信息请参考 NERtcVideoSubStreamEncodeConfiguration。 |
- (int) stopChannelMediaRelay |
停止跨房间媒体流转发。
主播离开房间时,跨房间媒体流转发自动停止,您也可以在需要的时候随时调用 stopChannelMediaRelay 方法,此时主播会退出所有目标房间。
- (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) 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。 |