NERtc iOS SDK
V5.3.1
|
INERtcChannel 类在指定房间中实现实时音视频功能。通过创建多个 NERtcChannel 对象,用户可以同时加入多个房间。 更多...
#import <INERtcChannel.h>
构造函数 | |
(int) | - destroy |
(int) | - setChannelDelegate: |
设置 channel 的回调。 更多... | |
(NSString *) | - getChannelName |
获取当前房间名。 更多... | |
(NERtcConnectionStateType) | - connectionState |
获取当前房间连接状态。 更多... | |
(int) | - joinChannelWithToken:completion: |
加入音视频房间。 通过本接口可以实现加入音视频房间,加入房间后可以与房间内的其他用户进行音视频通话。 更多... | |
(int) | - joinChannelWithToken:myUid:completion: |
加入音视频房间。 通过本接口可以实现加入音视频房间,加入房间后可以与房间内的其他用户进行音视频通话。 更多... | |
(int) | - joinChannelWithToken:myUid:channelOptions:completion: |
加入音视频房间。 通过本接口可以实现加入音视频房间,加入房间后可以与房间内的其他用户进行音视频通话。 更多... | |
(int) | - leaveChannel |
离开音视频房间。 通过本接口可以实现挂断或退出通话,并释放本房间内的相关资源。 更多... | |
(int) | - enableLocalAudio: |
开启/关闭本地音频采集和发送。 通过本接口可以实现开启或关闭本地语音功能,进行本地音频采集及处理。 更多... | |
(int) | - enableLocalVideo: |
开启或关闭本地视频的采集与发送。 通过本接口可以实现开启或关闭本地视频,不影响接收远端视频。 更多... | |
(int) | - enableLocalVideo:streamType: |
开启或关闭本地视频的采集与发送。 通过主流或辅流视频通道进行本地视频流的采集与发送。 更多... | |
(int) | - enableMediaPub:withMediaType: |
开启或关闭本地媒体流(主流)的发送。 该方法用于开始或停止向网络发送本地音频或视频数据。 该方法不影响接收或播放远端媒体流,也不会影响本地音频或视频的采集状态。 更多... | |
(int) | - enableDualStreamMode: |
设置是否开启视频大小流模式。 通过本接口可以实现设置单流或者双流模式。发送端开启双流模式后,接收端可以选择接收大流还是小流。其中,大流指高分辨率、高码率的视频流,小流指低分辨率、低码率的视频流。 更多... | |
(int) | - setCameraCaptureConfig: |
设置本地摄像头的视频主流采集配置。 通过此接口可以设置本地摄像头采集的主流视频宽度、高度、旋转角度等。 更多... | |
(int) | - setCameraCaptureConfig:streamType: |
设置本地摄像头的视频主流或辅流采集配置。 通过此接口可以设置本地摄像头采集的主流或辅流视频宽度、高度、旋转角度等。 更多... | |
(int) | - setLocalVideoConfig: |
设置视频编码属性。 通过此接口可以设置视频主流的编码分辨率、裁剪模式、码率、帧率、带宽受限时的视频编码降级偏好、编码的镜像模式、编码的方向模式参数,详细信息请参考设置视频属性。 更多... | |
(int) | - setLocalVideoConfig:streamType: |
设置视频编码属性。 通过此接口可以设置视频主流或辅流的编码分辨率、裁剪模式、码率、帧率、带宽受限时的视频编码降级偏好、编码的镜像模式、编码的方向模式参数。 更多... | |
(int) | - switchCamera |
切换前置/后置摄像头。 该方法需要在相机启动后调用,例如调用 startPreview 或 joinChannel 后。 更多... | |
(int) | - switchCameraWithPosition: |
指定前置/后置摄像头。 该方法需要在相机启动后调用,例如调用 startPreview 或 joinChannel 后。 更多... | |
(int) | - subscribeRemoteAudio:forUserID: |
取消或恢复订阅指定远端用户的音频主流。 加入房间时,默认订阅所有远端用户的音频主流,您也可以通过此方法取消或恢复订阅指定远端用户的音频主流。 更多... | |
(int) | - subscribeAllRemoteAudio: |
取消或恢复订阅所有远端用户的音频主流。 加入房间时,默认订阅所有远端用户的音频主流,即 INERtcEngine#setParameters: 方法的 kNERtcKeyAutoSubscribeAudio 参数默认设置为 YES;只有当该参数的设置为 NO 时,此接口的调用才会生效。 更多... | |
(int) | - setAudioSubscribeOnlyBy: |
设置自己的音频只能被房间内指定的人订阅。 默认房间所有其他人都可以订阅自己的音频。 更多... | |
(int) | - muteLocalAudio: |
开启或关闭本地音频主流的发送。 该方法用于向网络发送或取消发送本地音频数据,不影响本地音频的采集状态,也不影响接收或播放远端音频流。 更多... | |
(int) | - enableAudioVolumeIndication:interval:vad: |
启用说话者音量提示。 该方法允许 SDK 定期向 App 反馈本地发流用户和瞬时音量最高的远端用户(最多 3 位)的音量相关信息,即当前谁在说话以及说话者的音量。 启用该方法后,只要房间内有发流用户,无论是否有人说话,SDK 都会在加入房间后根据预设的时间间隔触发 NERtcEngineDelegateEx#onRemoteAudioVolumeIndication:totalVolume: 回调。 更多... | |
(int) | - setupLocalVideoCanvas: |
设置本地用户视图。 通过本接口可以实现绑定本地用户和显示视图,并设置本地用户视图在本地显示时的镜像模式和裁减比例,只影响本地用户看到的视频画面。 更多... | |
(int) | - setLocalRenderScaleMode: |
设置画布中本地视频画面的显示模式。 通过本接口可以实现设置本地视频画面的适应性,即是否裁剪或缩放。 更多... | |
(int) | - setupRemoteVideoCanvas:forUserID: |
设置远端用户视图。 通过本接口可以实现绑定远端用户和显示视图,并设置远端用户视图在本地显示时的镜像模式和裁减比例,只影响本地用户看到的视频画面。 更多... | |
(int) | - setRemoteRenderScaleMode:forUserID: |
设置画布中远端视频画面的显示模式。 通过本接口可以实现设置远端视频画面的适应性,即是否裁剪或缩放。 更多... | |
(int) | - subscribeRemoteVideo:forUserID:streamType: |
订阅或取消订阅指定远端用户的视频主流。 加入房间后,默认不订阅所有远端用户的视频主流;若您希望看到指定远端用户的视频,可以在监听到对方加入房间或发布视频流之后,通过此方法订阅该用户的视频主流。 更多... | |
(int) | - muteLocalVideo: |
取消或恢复发布本端视频主流。 调用该方法取消发布本地视频主流后,SDK 不再发送本地视频主流。 更多... | |
(int) | - muteLocalVideo:streamType: |
取消或恢复发布本地视频。 调用该方法取消发布本地视频主流或辅流后,SDK 不再发送本地视频流。 更多... | |
(int) | - setExternalVideoSource:streamType: |
(int) | - pushExternalVideoFrame:streamType: |
推送外部视频帧。 该方法主动将视频帧数据用 NERtcVideoFrame 类封装后传递给 SDK。 更多... | |
(int) | - setClientRole: |
设置直播场景下的用户角色。 通过本接口可以实现将用户角色在“主播”(kNERtcClientRoleBroadcaster)和“观众“(kNERtcClientRoleAudience)之间的切换,用户加入房间后默认为“主播”。 更多... | |
(int) | - adjustUserPlaybackSignalVolume:forUserID: |
调节本地播放的指定远端用户的信号音量。 通过此接口可以实现在通话过程中随时调节指定远端用户在本地播放的混音音量。 更多... | |
(int) | - adjustChannelPlaybackSignalVolume: |
调节本地播放的指定房间的所有远端用户的信号音量。 通过此接口可以实现在通话过程中随时调节指定房间内的所有远端用户在本地播放的混音音量。 更多... | |
(int) | - enableLocalSubStreamAudio: |
开启或关闭音频辅流。 开启时远端会收到 NERtcChannelDelegate#onNERtcChannelUserSubStreamAudioDidStart: 回调 ,关闭时远端会收到 NERtcChannelDelegate#onNERtcChannelUserSubStreamAudioDidStop: 回调。 更多... | |
(int) | - subscribeRemoteSubStreamAudio:forUserID: |
设置是否订阅指定远端用户的音频辅流。 更多... | |
(int) | - muteLocalSubStreamAudio: |
静音或解除静音本地上行的音频辅流。 更多... | |
(int) | - setupLocalSubStreamVideoCanvas: |
设置本端用户的视频辅流画布。 通过此接口可以实现设置本端用户的辅流显示视图。 更多... | |
(int) | - startScreenCapture: |
开启屏幕共享。 通过此接口开启屏幕共享后,屏幕共享内容以视频辅流的形式发送。 更多... | |
(int) | - stopScreenCapture |
关闭屏幕共享。 通过此接口可以实现关闭屏幕共享辅流。 更多... | |
(int) | - setLocalRenderSubStreamScaleMode: |
设置画布中本地屏幕共享辅流视频画面的显示模式。 通过本接口可以实现设置本地发布的屏幕共享视频画面的适应性,即是否裁剪或缩放。 更多... | |
(int) | - setupRemoteSubStreamVideoCanvas:forUserID: |
设置远端用户的视频辅流画布。 通过此接口可以实现绑定远端用户和对应辅流的显示视图,即指定某个 uid 使用对应的画布显示。 更多... | |
(int) | - subscribeRemoteSubStreamVideo:forUserID: |
订阅或取消订阅远端用户的视频辅流。 更多... | |
(int) | - setRemoteRenderSubStreamVideoScaleMode:forUserID: |
设置画布中远端屏幕共享视频画面的显示模式。 通过本接口可以实现设置远端发布的屏幕共享视频画面的适应性,即是否裁剪或缩放。 更多... | |
(int) | - setRemoteHighPriorityAudioStream:forUserID:streamType: |
设置远端用户音频流的高优先级。 支持在音频自动订阅的情况下,设置某一个远端用户的音频为最高优先级,可以优先听到该用户的音频。 更多... | |
(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 |
停止跨房间媒体流转发。 通常在主播离开房间时,跨房间媒体流转发会自动停止;您也可以根据需要随时调用该方法,此时主播会退出所有目标房间。 更多... | |
(int) | - setLocalMediaPriority:preemptive: |
设置本地用户的媒体流优先级。 通过此接口可以实现设置某用户的媒体流优先级为高,从而弱网环境下 SDK 会优先保证其他用户收到的该用户媒体流的质量。 更多... | |
(int) | - setLocalPublishFallbackOption: |
设置弱网条件下发布的音视频流回退选项。 在网络不理想的环境下,发布的音视频质量都会下降。使用该接口并将 option 设置为 kNERtcStreamFallbackOptionAudioOnly 后: 更多... | |
(int) | - setRemoteSubscribeFallbackOption: |
设置弱网条件下订阅的音视频流回退选项。 弱网环境下,订阅的音视频质量会下降。通过该接口设置订阅音视频流的回退选项后: 更多... | |
(int) | - updatePermissionKey: |
更新权限密钥。 更多... | |
(int) | - reportCustomEvent:customIdentify:param: |
上报自定义事件 更多... | |
INERtcChannel 类在指定房间中实现实时音视频功能。通过创建多个 NERtcChannel 对象,用户可以同时加入多个房间。
- (int) addChannelMediaStatsObserver: | (id< NERtcChannelMediaStatsObserver >) | observer |
- (int) addLiveStreamTask: | (NERtcLiveStreamTaskInfo *) | taskInfo | |
compeltion: | (NERtcLiveStreamCompletion) | completion | |
添加房间内推流任务。 通过此接口可以实现增加一路旁路推流任务;若需推送多路流,则需多次调用该方法。
参数名称 | 类型 | 描述 |
---|---|---|
taskInfo | NERtcLiveStreamTaskInfo * | 推流任务信息。详细信息请参考 {@ NERtcLiveStreamTaskInfo}。 |
compeltion | NERtcLiveStreamCompletion | 操作结果回调,方法调用成功后会触发对应的 NERtcEngineLiveStreamObserver#onNERTCEngineLiveStreamState:taskID:url: 回调。 |
- (int) adjustChannelPlaybackSignalVolume: | (uint32_t) | volume |
调节本地播放的指定房间的所有远端用户的信号音量。
通过此接口可以实现在通话过程中随时调节指定房间内的所有远端用户在本地播放的混音音量。
参数名称 | 类型 | 描述 |
---|---|---|
volume | uint64_t | 播放音量,取值范围为 [0,400]。
|
- (int) adjustUserPlaybackSignalVolume: | (uint32_t) | volume | |
forUserID: | (uint64_t) | userID | |
调节本地播放的指定远端用户的信号音量。
通过此接口可以实现在通话过程中随时调节指定远端用户在本地播放的混音音量。
参数名称 | 类型 | 描述 |
---|---|---|
userID | uint64_t | 远端用户 ID。 |
volume | uint64_t | 播放音量,取值范围为 0 ~ 400。
|
- (int) cleanupChannelMediaStatsObserver |
清除全部媒体统计信息观测器。
- (NERtcConnectionStateType) connectionState |
获取当前房间连接状态。
- (int) destroy |
- (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 | BOOL | 是否开启双流模式:
|
- (int) enableLocalAudio: | (BOOL) | enabled |
开启/关闭本地音频采集和发送。
通过本接口可以实现开启或关闭本地语音功能,进行本地音频采集及处理。
参数名称 | 类型 | 描述 |
---|---|---|
enabled | BOOL | 是否启用本地音频的采集和发送:
|
- (int) enableLocalSubStreamAudio: | (BOOL) | enabled |
开启或关闭音频辅流。
开启时远端会收到 NERtcChannelDelegate#onNERtcChannelUserSubStreamAudioDidStart: 回调 ,关闭时远端会收到 NERtcChannelDelegate#onNERtcChannelUserSubStreamAudioDidStop: 回调。
enabled | 是否开启音频辅流。
|
- (int) enableLocalVideo: | (BOOL) | enabled |
开启或关闭本地视频的采集与发送。
通过本接口可以实现开启或关闭本地视频,不影响接收远端视频。
参数名称 | 类型 | 描述 |
---|---|---|
enabled | BOOL | 是否开启本地视频采集与发送:
|
- (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 | NSString | 安全认证签名(NERTC Token),可以设置为:
|
completion | NERtcJoinChannelCompletion | 操作完成的 block 回调。 |
- (int) joinChannelWithToken: | (NSString *) | token | |
myUid: | (uint64_t) | uId | |
channelOptions: | (nullable NERtcJoinChannelOptions *) | channelOptions | |
completion: | (void(^)(NSError *_Nullable error, uint64_t channelId, uint64_t elapesd, uint64_t uid, NERtcJoinChannelExtraInfo *_Nullable info)) | completion | |
加入音视频房间。
通过本接口可以实现加入音视频房间,加入房间后可以与房间内的其他用户进行音视频通话。
参数名称 | 类型 | 描述 |
---|---|---|
token | NSString | 安全认证签名(NERTC Token),可以设置为:
|
channelOptions | NERtcJoinChannelOptions * | 加入房间时设置一些特定的房间参数。默认值为 NULL,详细信息请参考 NERtcJoinChannelOptions。 |
completion | NERtcJoinChannelCompletion | 操作完成的 block 回调。 |
- (int) joinChannelWithToken: | (NSString *) | token | |
myUid: | (uint64_t) | uId | |
completion: | (NERtcJoinChannelCompletion) | completion | |
加入音视频房间。
通过本接口可以实现加入音视频房间,加入房间后可以与房间内的其他用户进行音视频通话。
参数名称 | 类型 | 描述 |
---|---|---|
token | NSString | 安全认证签名(NERTC Token),可以设置为:
|
uId | uint64_t | 用户的唯一标识 ID。 |
completion | NERtcJoinChannelCompletion | 操作完成的 block 回调。 |
- (int) leaveChannel |
离开音视频房间。
通过本接口可以实现挂断或退出通话,并释放本房间内的相关资源。
- (int) muteLocalAudio: | (BOOL) | muted |
开启或关闭本地音频主流的发送。
该方法用于向网络发送或取消发送本地音频数据,不影响本地音频的采集状态,也不影响接收或播放远端音频流。
参数名称 | 类型 | 描述 |
---|---|---|
mute | BOOL | 是否关闭本地音频的发送:
|
- (int) muteLocalSubStreamAudio: | (BOOL) | muted |
静音或解除静音本地上行的音频辅流。
muted | 是否静音本地音频辅流发送。
|
- (int) muteLocalVideo: | (BOOL) | muted |
取消或恢复发布本端视频主流。
调用该方法取消发布本地视频主流后,SDK 不再发送本地视频主流。
参数名称 | 类型 | 描述 |
---|---|---|
muted | BOOL | 是否取消发布本地视频流:
|
- (int) muteLocalVideo: | (BOOL) | muted | |
streamType: | (NERtcStreamChannelType) | streamType | |
取消或恢复发布本地视频。
调用该方法取消发布本地视频主流或辅流后,SDK 不再发送本地视频流。
参数名称 | 类型 | 描述 |
---|---|---|
streamType | NERtcStreamChannelType | 视频通道类型:
|
muted | BOOL | 是否取消发布本地视频流:
|
- (int) pushExternalVideoFrame: | (NERtcVideoFrame *) | frame | |
streamType: | (NERtcStreamChannelType) | streamType | |
推送外部视频帧。
该方法主动将视频帧数据用 NERtcVideoFrame 类封装后传递给 SDK。
frame | 外部视频帧的数据信息。详细信息请参考 NERtcVideoFrame。 |
streamType | 视频流通道类型,默认为主流kNERtcStreamChannelTypeMainStream。 |
- (int) removeChannelMediaStatsObserver: | (id< NERtcChannelMediaStatsObserver >) | observer |
移除指定媒体统计信息观测器。
observer | 统计信息观测器 |
- (int) removeLiveStreamTask: | (NSString *) | taskId | |
compeltion: | (NERtcLiveStreamCompletion) | completion | |
删除房间内指定推流任务。
参数名称 | 类型 | 描述 |
---|---|---|
taskId | NSString * | 推流任务 ID。 |
completion | NERtcLiveStreamCompletion | 操作结果回调,方法调用成功后会触发对应的 NERtcEngineLiveStreamObserver#onNERTCEngineLiveStreamState:taskID:url: 回调。 |
- (int) reportCustomEvent: | (NSString *) | eventName | |
customIdentify: | (NSString *) | customIdentify | |
param: | (NSDictionary *) | param | |
上报自定义事件
eventName | 事件名 不能为空 |
customIdentify | 自定义标识,比如产品或业务类型,如不需要填null |
param | 参数键值对 ,参数值支持String 及java基本类型(int 、bool....) , 如不需要填null |
- (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 |
设置本地摄像头的视频主流采集配置。
通过此接口可以设置本地摄像头采集的主流视频宽度、高度、旋转角度等。
参数名称 | 类型 | 描述 |
---|---|---|
config | NERtcCameraCaptureConfiguration | 本地摄像头采集配置。 |
- (int) setCameraCaptureConfig: | (NERtcCameraCaptureConfiguration *) | config | |
streamType: | (NERtcStreamChannelType) | streamType | |
设置本地摄像头的视频主流或辅流采集配置。
通过此接口可以设置本地摄像头采集的主流或辅流视频宽度、高度、旋转角度等。
参数名称 | 类型 | 描述 |
---|---|---|
config | NERtcCameraCaptureConfiguration | 本地摄像头采集配置。 |
streamType | NERtcStreamChannelType | 视频通道类型:
|
- (int) setChannelDelegate: | (nullable id< NERtcChannelDelegate >) | channelDelegate |
设置 channel 的回调。
channelDelegate | channel 的回调对象。 |
- (int) setClientRole: | (NERtcClientRole) | role |
设置直播场景下的用户角色。
通过本接口可以实现将用户角色在“主播”(kNERtcClientRoleBroadcaster)和“观众“(kNERtcClientRoleAudience)之间的切换,用户加入房间后默认为“主播”。
参数名称 | 类型 | 描述 |
---|---|---|
role | NERtcClientRole | 用户角色:
|
- (int) setExternalVideoSource: | (BOOL) | enable | |
streamType: | (NERtcStreamChannelType) | streamType | |
- (int) setLocalMediaPriority: | (NERtcMediaPriorityType) | priority | |
preemptive: | (BOOL) | preemptive | |
设置本地用户的媒体流优先级。
通过此接口可以实现设置某用户的媒体流优先级为高,从而弱网环境下 SDK 会优先保证其他用户收到的该用户媒体流的质量。
参数名称 | 类型 | 描述 |
---|---|---|
priority | NERtcMediaPriorityType | 本地用户的媒体流优先级,默认为 kNERtcMediaPriorityNormal,即普通优先级。 |
preemptive | BOOL | 是否开启抢占模式:
|
- (int) setLocalPublishFallbackOption: | (NERtcStreamFallbackOptions) | option |
设置弱网条件下发布的音视频流回退选项。
在网络不理想的环境下,发布的音视频质量都会下降。使用该接口并将 option 设置为 kNERtcStreamFallbackOptionAudioOnly 后:
option | 发布音视频流的回退选项,默认为不开启回退。 详细信息请参考 NERtcStreamFallbackOptions。 |
- (int) setLocalRenderScaleMode: | (NERtcVideoRenderScaleMode) | mode |
设置画布中本地视频画面的显示模式。
通过本接口可以实现设置本地视频画面的适应性,即是否裁剪或缩放。
参数名称 | 类型 | 描述 |
---|---|---|
mode | NERtcVideoRenderScaleMode | 视频显示模式类型:
|
- (int) setLocalRenderSubStreamScaleMode: | (NERtcVideoRenderScaleMode) | mode |
设置画布中本地屏幕共享辅流视频画面的显示模式。
通过本接口可以实现设置本地发布的屏幕共享视频画面的适应性,即是否裁剪或缩放。
参数名称 | 类型 | 描述 |
---|---|---|
mode | NERtcVideoRenderScaleMode | 视频显示模式类型:
|
- (int) setLocalVideoConfig: | (NERtcVideoEncodeConfiguration *) | config |
设置视频编码属性。
通过此接口可以设置视频主流的编码分辨率、裁剪模式、码率、帧率、带宽受限时的视频编码降级偏好、编码的镜像模式、编码的方向模式参数,详细信息请参考设置视频属性。
参数名称 | 类型 | 描述 |
---|---|---|
config | NERtcVideoEncodeConfiguration | 视频编码属性配置。 |
- (int) setLocalVideoConfig: | (NERtcVideoEncodeConfiguration *) | config | |
streamType: | (NERtcStreamChannelType) | streamType | |
设置视频编码属性。
通过此接口可以设置视频主流或辅流的编码分辨率、裁剪模式、码率、帧率、带宽受限时的视频编码降级偏好、编码的镜像模式、编码的方向模式参数。
参数名称 | 类型 | 描述 |
---|---|---|
config | NERtcVideoEncodeConfiguration | 视频编码属性配置。 |
streamType | NERtcStreamChannelType | 视频通道类型:
|
- (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 | uint64_t | 远端用户 ID。 |
- (int) setRemoteRenderSubStreamVideoScaleMode: | (NERtcVideoRenderScaleMode) | mode | |
forUserID: | (uint64_t) | userID | |
设置画布中远端屏幕共享视频画面的显示模式。
通过本接口可以实现设置远端发布的屏幕共享视频画面的适应性,即是否裁剪或缩放。
参数名称 | 类型 | 描述 |
---|---|---|
mode | NERtcVideoRenderScaleMode | 视频显示模式类型:
|
userID | uint64_t | 远端用户 ID。 |
- (int) setRemoteSubscribeFallbackOption: | (NERtcStreamFallbackOptions) | option |
设置弱网条件下订阅的音视频流回退选项。
弱网环境下,订阅的音视频质量会下降。通过该接口设置订阅音视频流的回退选项后:
option | 订阅音视频流的回退选项,默认为弱网时回退到视频小流。详细信息请参考 NERtcStreamFallbackOptions。 |
- (int) setupLocalSubStreamVideoCanvas: | (NERtcVideoCanvas *) | canvas |
设置本端用户的视频辅流画布。
通过此接口可以实现设置本端用户的辅流显示视图。
参数名称 | 类型 | 描述 |
---|---|---|
canvas | NERtcVideoCanvas * | 视频画布。详细信息请参考 NERtcVideoCanvas。 |
- (int) setupLocalVideoCanvas: | (NERtcVideoCanvas *_Nullable) | canvas |
设置本地用户视图。
通过本接口可以实现绑定本地用户和显示视图,并设置本地用户视图在本地显示时的镜像模式和裁减比例,只影响本地用户看到的视频画面。
参数名称 | 类型 | 描述 |
---|---|---|
render | NERtcVideoCanvas | 本地用户视频的画布。设置为 nil 表示取消并释放已设置的画布。 |
- (int) setupRemoteSubStreamVideoCanvas: | (NERtcVideoCanvas *) | canvas | |
forUserID: | (uint64_t) | userID | |
设置远端用户的视频辅流画布。
通过此接口可以实现绑定远端用户和对应辅流的显示视图,即指定某个 uid 使用对应的画布显示。
参数名称 | 类型 | 描述 |
---|---|---|
canvas | NERtcVideoCanvas * | 视频画布。详细信息请参考 NERtcVideoCanvas。 |
userID | uint64_t | 远端用户 ID。 |
- (int) setupRemoteVideoCanvas: | (NERtcVideoCanvas *_Nullable) | canvas | |
forUserID: | (uint64_t) | userID | |
设置远端用户视图。
通过本接口可以实现绑定远端用户和显示视图,并设置远端用户视图在本地显示时的镜像模式和裁减比例,只影响本地用户看到的视频画面。
参数名称 | 类型 | 描述 |
---|---|---|
canvas | NERtcVideoCanvas | 远端用户视频的画布。 |
userID | uint64_t | 远端用户的 ID。可以在 NERtcEngineDelegate#onNERtcEngineUserDidJoinWithUserID:userName: 回调中获取。 |
- (int) startChannelMediaRelay: | (NERtcChannelMediaRelayConfiguration *_Nonnull) | config |
开始跨房间媒体流转发。
config | 跨房间媒体流转发参数配置信息。详细信息请参考 NERtcChannelMediaRelayConfiguration。 |
- (int) startScreenCapture: | (NERtcVideoSubStreamEncodeConfiguration *) | config |
开启屏幕共享。
通过此接口开启屏幕共享后,屏幕共享内容以视频辅流的形式发送。
参数名称 | 类型 | 描述 |
---|---|---|
config | NERtcVideoSubStreamEncodeConfiguration * | 本地辅流发送配置,详细信息请参考 NERtcVideoSubStreamEncodeConfiguration。 |
- (int) stopChannelMediaRelay |
停止跨房间媒体流转发。
通常在主播离开房间时,跨房间媒体流转发会自动停止;您也可以根据需要随时调用该方法,此时主播会退出所有目标房间。
- (int) stopScreenCapture |
关闭屏幕共享。
通过此接口可以实现关闭屏幕共享辅流。
- (int) subscribeAllRemoteAudio: | (BOOL) | subscribe |
取消或恢复订阅所有远端用户的音频主流。
加入房间时,默认订阅所有远端用户的音频主流,即 INERtcEngine#setParameters: 方法的 kNERtcKeyAutoSubscribeAudio 参数默认设置为 YES;只有当该参数的设置为 NO 时,此接口的调用才会生效。
参数名称 | 类型 | 描述 |
---|---|---|
subscribe | BOOL | 是否订阅所有用户的音频主流:
|
- (int) subscribeRemoteAudio: | (BOOL) | subscribe | |
forUserID: | (uint64_t) | userID | |
取消或恢复订阅指定远端用户的音频主流。
加入房间时,默认订阅所有远端用户的音频主流,您也可以通过此方法取消或恢复订阅指定远端用户的音频主流。
参数名称 | 类型 | 描述 |
---|---|---|
userID | uint64_t | 指定用户的 ID。 |
subscribe | BOOL | 是否订阅指定用户的音频主流:
|
- (int) subscribeRemoteSubStreamAudio: | (BOOL) | subscribe | |
forUserID: | (uint64_t) | userID | |
设置是否订阅指定远端用户的音频辅流。
参数名称 | 类型 | 描述 |
---|---|---|
uid | uint64_t | 远端用户 ID。 |
subscribe | BOOL | 是否订阅指定音频辅流:
|
- (int) subscribeRemoteSubStreamVideo: | (BOOL) | subscribe | |
forUserID: | (uint64_t) | userID | |
订阅或取消订阅远端用户的视频辅流。
参数名称 | 类型 | 描述 |
---|---|---|
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 | 是否订阅远端用户的视频流:
|
- (int) switchCamera |
切换前置/后置摄像头。
该方法需要在相机启动后调用,例如调用 startPreview 或 joinChannel 后。
- (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 * | 推流任务信息。详细信息请参考 {@ NERtcLiveStreamTaskInfo}。 |
compeltion | NERtcLiveStreamCompletion | 操作结果回调,方法调用成功后会触发对应的 NERtcEngineLiveStreamObserver#onNERTCEngineLiveStreamState:taskID:url: 回调。 |
- (int) updatePermissionKey: | (NSString *) | key |
更新权限密钥。
参数名称 | 类型 | 描述 |
---|---|---|
key | NSString * | 新的权限密钥。 |