NERtc iOS SDK
V4.6.20
|
NERtcEngine 的常用接口。 更多...
#import <INERtcEngine.h>
构造函数 | |
(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 的常用接口。
- (NERtcConnectionStateType) connectionState |
获取当前房间连接状态。
- (int) enableLocalAudio: | (BOOL) | enabled |
开启/关闭本地音频采集和发送。
当 App 加入房间时,语音功能默认为开启状态。
该方法不影响接收或播放远端音频流,enableLocalAudio(NO) 适用于只下行不上行音频流的场景。
成功调用该方法后,房间内其他用户触发 onNERtcEngineUserAudioDidStart 或 onNERtcEngineUserAudioDidStop 回调。
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 | 媒体发布类型,暂时仅支持音频。 |
- (int) joinChannelWithToken: | (NSString *) | token | |
channelName: | (NSString *) | channelName | |
myUid: | (uint64_t) | uId | |
completion: | (NERtcJoinChannelCompletion) | completion | |
加入音视频房间。
加入音视频房间时,如果指定房间尚未创建,云信服务器内部会自动创建一个同名房间。
token | 安全认证签名(NERTC Token)。可设置为:
|
channelName | 房间名称,设置相同房间名称的用户会进入同一个通话房间。 字符串格式,长度为1~ 64 字节。支持以下89个字符:a-z, A-Z, 0-9, space, !#$%&()+-:;≤.,>? @[]^_{|}~” |
uId | 用户的唯一标识 id,房间内每个用户的 uId 必须是唯一的。 uId 可选,默认为 0。如果不指定(即设为 0),SDK 会自动分配一个随机 uId,并在 NERtcJoinChannelCompletion 中返回,App 层必须记住该返回值并维护,SDK 不对该返回值进行维护。 |
completion | 操作完成的 block 回调。 |
- (int) leaveChannel |
离开房间,即挂断或退出通话。
结束通话时,必须调用leaveChannel结束通话,否则无法开始下一次通话。
成功调用该方法离开房间后,本地会触发 onNERtcEngineDidLeaveChannelWithResult 回调,远端会触发 onNERtcEngineUserDidLeaveWithUserID 回调。
- (int) setAudioProfile: | (NERtcAudioProfileType) | profile | |
scenario: | (NERtcAudioScenarioType) | scenario | |
设置音频编码属性。
profile | 设置采样率、码率、编码模式和声道数。详细信息请参考 NERtcAudioProfileType。 |
scenario | 设置音频应用场景。详细信息请参考 NERtcAudioScenarioType。 |
- (int) setChannelProfile: | (NERtcChannelProfileType) | channelProfile |
设置房间场景。
房间场景可设置为通话或直播场景,不同的场景中 QoS 策略不同。
channelProfile | 设置房间场景。详细信息请参考 NERtcEngineEnum.NERtcChannelProfileType。 |
- (int) setClientRole: | (NERtcClientRole) | role |
在直播场景中设置用户角色。
用户角色支持设置为主播或观众,主播和观众的权限不同。
如果你在加入频道后调用该方法切换角色,调用成功后会收到以下回调:
role | 用户角色。详细信息请参考 NERtcClientRole。 |
- (int) setLocalVideoConfig: | (NERtcVideoEncodeConfiguration *) | config |
设置视频编码属性。
width
和 height
进行自定义设置摄像头采集视频的编码分辨率。详细信息请参考设置视频属性。 setLocalVideoConfig
方法实时生效;此前的版本中,setLocalVideoConfig
方法设置成功后,下次开启本端视频时生效。config | 视频编码属性配置,详细信息请参考 NERtcVideoEncodeConfiguration。 |
- (int) setLocalVideoConfig: | (NERtcVideoEncodeConfiguration *) | config | |
streamType: | (NERtcStreamChannelType) | streamType | |
设置视频编码属性。
通过此接口可以设置视频主流或辅流的编码分辨率、裁剪模式、码率、帧率、带宽受限时的视频编码降级偏好、编码的镜像模式、编码的方向模式参数。
参数名称 | 类型 | 描述 |
---|---|---|
config | NERtcVideoEncodeConfiguration | 视频编码属性配置。 |
streamType | NERtcStreamChannelType | 视频通道类型:
|
- (int) setParameters: | (NSDictionary *) | parameters |
设置音视频通话的相关参数。
parameters | 参数内容 参数 key,请参阅 NERtcEngineBase.h 中的定义 |
- (int) setupEngineWithContext: | (NERtcEngineContext *) | context |
创建 NERtcEngine 并初始化 NERTC SDK 服务。
context | 传入的RTC engine context对象。详细信息请参考 NERtcEngineContext。 |
- (int) setupLocalVideoCanvas: | (NERtcVideoCanvas *_Nullable) | canvas |
设置本地视图。
该方法设置本地视频显示信息。只影响本地用户看到的视频画面,不影响远端。 App 通过调用此接口绑定本地视频流的显示视窗(view)。 在 App 开发中,通常在初始化后调用该方法进行本地视频设置,然后再加入房间。
canvas | 视频画布。详细信息请参考 NERtcVideoCanvas。如果需要删除则传 nil。 |
- (int) setupRemoteVideoCanvas: | (NERtcVideoCanvas *_Nullable) | canvas | |
forUserID: | (uint64_t) | userID | |
设置远端用户视图。
该方法绑定远端用户和显示视图,并设置远端用户视图在本地显示时的渲染模式和镜像模式,只影响本地用户看到的视频画面。
userID | 远端用户 ID。 |
canvas | 视频窗口。详细信息请参考 NERtcVideoCanvas。如果需要删除则传 nil。 |
- (int) switchCamera |
切换前置/后置摄像头。
该方法需要在相机启动后调用,例如调用 startPreview 或 joinChannel 后。
- (int) switchChannelWithToken: | (NSString *) | token | |
channelName: | (NSString *) | channelName | |
completion: | (NERtcJoinChannelCompletion) | completion | |
快速切换音视频房间。
房间场景为直播场景时,房间中角色为观众的成员可以调用该方法从当前房间快速切换至另一个房间。
成功调用该方切换房间后,本端会收到离开房间的回调 onNERtcEngineDidLeaveChannelWithResult;远端用户会收到 onNERtcEngineUserDidLeaveWithUserID 和 onNERtcEngineUserDidJoinWithUserID 的回调。
token | 在服务器端生成的用于鉴权的安全认证签名(Token)。可设置为:
|
channelName | 期望切换到的目标房间名称 |
completion | 操作完成的 block 回调 |