NERtc iOS SDK
V4.6.61
|
NERtcEngine 的常用接口。 更多...
#import <INERtcEngine.h>
构造函数 | |
(NERtcConnectionStateType) | - connectionState |
获取当前房间连接状态。 更多... | |
(int) | - setupEngineWithContext: |
创建 NERtc 实例。 通过本接口可以实现创建 NERtc 实例并初始化 NERTC SDK 服务。 更多... | |
(int) | - setEngineEventDelegate: |
设置事件通知回调。 通过本接口可以实现根据自身业务场景,监听相应的主回调。 更多... | |
(int) | - joinChannelWithToken:channelName:myUid:completion: |
加入音视频房间。 通过本接口可以实现加入音视频房间,加入房间后可以与房间内的其他用户进行音视频通话。 更多... | |
(int) | - joinChannelWithToken:channelName:myUid:channelOptions:completion: |
加入音视频房间。 通过本接口可以实现加入音视频房间,加入房间后可以与房间内的其他用户进行音视频通话。 更多... | |
(int) | - leaveChannel |
离开音视频房间。 通过本接口可以实现挂断或退出通话,并释放本房间内的相关资源。 更多... | |
(int) | - switchChannelWithToken:channelName:completion: |
快速切换音视频房间。 通过此接口可以实现当房间场景为直播场景时,房间中角色为观众的成员从当前房间快速切换至另一个房间。 更多... | |
(int) | - switchChannelWithToken:channelName:channelOptions:completion: |
快速切换音视频房间。 房间场景为直播场景时,房间中角色为观众的成员可以调用该方法从当前房间快速切换至另一个房间。 成功调用该方切换房间后,本端会收到离开房间的回调 onNERtcEngineDidLeaveChannelWithResult;远端用户会收到 onNERtcEngineUserDidLeaveWithUserID 和 onNERtcEngineUserDidJoinWithUserID 的回调。 更多... | |
(int) | - enableLocalAudio: |
开启/关闭本地音频采集和发送。 通过本接口可以实现开启或关闭本地语音功能,进行本地音频采集及处理。 更多... | |
(int) | - enableLocalVideo: |
开启或关闭本地视频的采集与发送。 通过本接口可以实现开启或关闭本地视频,不影响接收远端视频。 更多... | |
(int) | - enableLocalVideo:streamType: |
开启或关闭本地视频的采集与发送。 通过主流或辅流视频通道进行本地视频流的采集与发送。 更多... | |
(int) | - enableMediaPub:withMediaType: |
开启或关闭本地媒体流(主流)的发送。 该方法用于开始或停止向网络发送本地音频或视频数据。 该方法不影响接收或播放远端媒体流,也不会影响本地音频或视频的采集状态。 更多... | |
(int) | - setChannelProfile: |
设置房间场景。 通过此接口可以实现设置房间场景为通话(默认)或直播场景。针对不同场景采取的优化策略不同,如通话场景侧重语音流畅度,直播场景侧重视频清晰度。 更多... | |
(int) | - setLocalVideoConfig: |
设置视频编码属性。 通过此接口可以设置视频主流的编码分辨率、裁剪模式、码率、帧率、带宽受限时的视频编码降级偏好、编码的镜像模式、编码的方向模式参数,详细信息请参考设置视频属性。 更多... | |
(int) | - setLocalVideoConfig:streamType: |
设置视频编码属性。 通过此接口可以设置视频主流或辅流的编码分辨率、裁剪模式、码率、帧率、带宽受限时的视频编码降级偏好、编码的镜像模式、编码的方向模式参数。 更多... | |
(int) | - setAudioProfile:scenario: |
设置音频编码属性。 通过此接口可以实现设置音频编码的采样率、码率、编码模式、声道数等,也可以设置音频属性的应用场景,包括聊天室场景、语音场景、音乐场景等。 更多... | |
(int) | - setupLocalVideoCanvas: |
设置本地用户视图。 通过本接口可以实现绑定本地用户和显示视图,并设置本地用户视图在本地显示时的镜像模式和裁减比例,只影响本地用户看到的视频画面。 更多... | |
(int) | - setupRemoteVideoCanvas:forUserID: |
设置远端用户视图。 通过本接口可以实现绑定远端用户和显示视图,并设置远端用户视图在本地显示时的镜像模式和裁减比例,只影响本地用户看到的视频画面。 更多... | |
(int) | - switchCamera |
切换前置或后置摄像头。 更多... | |
(int) | - setClientRole: |
设置直播场景下的用户角色。 通过本接口可以实现将用户角色在“主播”(kNERtcClientRoleBroadcaster)和“观众“(kNERtcClientRoleAudience)之间的切换,用户加入房间后默认为“主播”。 更多... | |
(int) | - setParameters: |
设置音视频通话的相关参数。 此接口提供技术预览或特别定制功能,详情请咨询技术支持。 更多... | |
(NSString *_Nullable) | - getParameter:extraInfo: |
以String 的形式获取一些内部参数,此接口为隐藏接口,需要特定参数及特定时机,详情联系技术支持。 更多... | |
属性 | |
id< NERtcEngineDelegateEx > | engineDelegate |
NERtcEngine 的常用接口。
- (NERtcConnectionStateType) connectionState |
获取当前房间连接状态。
- (int) enableLocalAudio: | (BOOL) | enabled |
开启/关闭本地音频采集和发送。
通过本接口可以实现开启或关闭本地语音功能,进行本地音频采集及处理。
参数名称 | 类型 | 描述 |
---|---|---|
enabled | BOOL | 是否启用本地音频的采集和发送:
|
- (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 * _Nullable) getParameter: | (NSString *_Nonnull) | parameterKey | |
extraInfo: | (NSString *_Nullable) | extraInfo | |
以String 的形式获取一些内部参数,此接口为隐藏接口,需要特定参数及特定时机,详情联系技术支持。
parameterKey | 参数key |
extraInfo | 额外的信息 |
- (int) joinChannelWithToken: | (NSString *) | token | |
channelName: | (NSString *) | channelName | |
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),可以设置为:
|
channelName | NSString | 房间名称,设置相同房间名称的用户会进入同一个通话房间。
|
uId | uint64_t | 用户的唯一标识 ID。 |
channelOptions | NERtcJoinChannelOptions * | 加入房间时设置一些特定的房间参数。默认值为 NULL,详细信息请参考 NERtcJoinChannelOptions。 |
completion | NERtcJoinChannelCompletion | 操作完成的 block 回调。 |
- (int) joinChannelWithToken: | (NSString *) | token | |
channelName: | (NSString *) | channelName | |
myUid: | (uint64_t) | uId | |
completion: | (NERtcJoinChannelCompletion) | completion | |
加入音视频房间。
通过本接口可以实现加入音视频房间,加入房间后可以与房间内的其他用户进行音视频通话。
参数名称 | 类型 | 描述 |
---|---|---|
token | NSString | 安全认证签名(NERTC Token),可以设置为:
|
channelName | NSString | 房间名称,设置相同房间名称的用户会进入同一个通话房间。
|
uId | uint64_t | 用户的唯一标识 ID。 |
completion | NERtcJoinChannelCompletion | 操作完成的 block 回调。 |
- (int) leaveChannel |
离开音视频房间。
通过本接口可以实现挂断或退出通话,并释放本房间内的相关资源。
- (int) setAudioProfile: | (NERtcAudioProfileType) | profile | |
scenario: | (NERtcAudioScenarioType) | scenario | |
设置音频编码属性。
通过此接口可以实现设置音频编码的采样率、码率、编码模式、声道数等,也可以设置音频属性的应用场景,包括聊天室场景、语音场景、音乐场景等。
参数名称 | 类型 | 描述 |
---|---|---|
profile | NERtcAudioProfileType | 设置采样率、码率、编码模式和声道数。 |
scenario | NERtcAudioScenarioType | 设置音频应用场景。 |
- (int) setChannelProfile: | (NERtcChannelProfileType) | channelProfile |
设置房间场景。
通过此接口可以实现设置房间场景为通话(默认)或直播场景。针对不同场景采取的优化策略不同,如通话场景侧重语音流畅度,直播场景侧重视频清晰度。
参数名称 | 类型 | 描述 |
---|---|---|
channelProfile | int | 设置房间场景:
|
- (int) setClientRole: | (NERtcClientRole) | role |
设置直播场景下的用户角色。
通过本接口可以实现将用户角色在“主播”(kNERtcClientRoleBroadcaster)和“观众“(kNERtcClientRoleAudience)之间的切换,用户加入房间后默认为“主播”。
参数名称 | 类型 | 描述 |
---|---|---|
role | NERtcClientRole | 用户角色:
|
- (int) setEngineEventDelegate: | (nullable id< NERtcEngineDelegateEx >) | delegate |
设置事件通知回调。
通过本接口可以实现根据自身业务场景,监听相应的主回调。
参数名称 | 类型 | 描述 |
---|---|---|
delegate | nullable id<NERtcEngineDelegateEx> | SDK 主回调。设置为 nil 表示清空回调。 |
- (int) setLocalVideoConfig: | (NERtcVideoEncodeConfiguration *) | config |
设置视频编码属性。
通过此接口可以设置视频主流的编码分辨率、裁剪模式、码率、帧率、带宽受限时的视频编码降级偏好、编码的镜像模式、编码的方向模式参数,详细信息请参考设置视频属性。
参数名称 | 类型 | 描述 |
---|---|---|
config | NERtcVideoEncodeConfiguration | 视频编码属性配置。 |
- (int) setLocalVideoConfig: | (NERtcVideoEncodeConfiguration *) | config | |
streamType: | (NERtcStreamChannelType) | streamType | |
设置视频编码属性。
通过此接口可以设置视频主流或辅流的编码分辨率、裁剪模式、码率、帧率、带宽受限时的视频编码降级偏好、编码的镜像模式、编码的方向模式参数。
参数名称 | 类型 | 描述 |
---|---|---|
config | NERtcVideoEncodeConfiguration | 视频编码属性配置。 |
streamType | NERtcStreamChannelType | 视频通道类型:
|
- (int) setParameters: | (NSDictionary *) | parameters |
设置音视频通话的相关参数。
此接口提供技术预览或特别定制功能,详情请咨询技术支持。
参数名称 | 类型 | 描述 |
---|---|---|
parameters | NSDictionary | 音视频通话的参数集合。详细信息请参考 NERtcEngineBase.h 中的定义。 |
- (int) setupEngineWithContext: | (NERtcEngineContext *) | context |
创建 NERtc 实例。
通过本接口可以实现创建 NERtc 实例并初始化 NERTC SDK 服务。
参数名称 | 类型 | 描述 |
---|---|---|
context | NERtcEngineContext | 传入的 RTC engine context 对象。 |
- (int) setupLocalVideoCanvas: | (NERtcVideoCanvas *_Nullable) | canvas |
设置本地用户视图。
通过本接口可以实现绑定本地用户和显示视图,并设置本地用户视图在本地显示时的镜像模式和裁减比例,只影响本地用户看到的视频画面。
参数名称 | 类型 | 描述 |
---|---|---|
render | NERtcVideoCanvas | 本地用户视频的画布。设置为 nil 表示取消并释放已设置的画布。 |
- (int) setupRemoteVideoCanvas: | (NERtcVideoCanvas *_Nullable) | canvas | |
forUserID: | (uint64_t) | userID | |
设置远端用户视图。
通过本接口可以实现绑定远端用户和显示视图,并设置远端用户视图在本地显示时的镜像模式和裁减比例,只影响本地用户看到的视频画面。
参数名称 | 类型 | 描述 |
---|---|---|
canvas | NERtcVideoCanvas | 远端用户视频的画布。 |
userID | uint64_t | 远端用户的 ID。可以在 NERtcEngineDelegate#onNERtcEngineUserDidJoinWithUserID:userName: 回调中获取。 |
- (int) switchCamera |
切换前置或后置摄像头。
- (int) switchChannelWithToken: | (NSString *) | token | |
channelName: | (NSString *) | channelName | |
channelOptions: | (nullable NERtcJoinChannelOptions *) | channelOptions | |
completion: | (void(^)(NSError *_Nullable error, uint64_t channelId, uint64_t elapesd, uint64_t uid, NERtcJoinChannelExtraInfo *_Nullable info)) | completion | |
快速切换音视频房间。
房间场景为直播场景时,房间中角色为观众的成员可以调用该方法从当前房间快速切换至另一个房间。
成功调用该方切换房间后,本端会收到离开房间的回调 onNERtcEngineDidLeaveChannelWithResult;远端用户会收到 onNERtcEngineUserDidLeaveWithUserID 和 onNERtcEngineUserDidJoinWithUserID 的回调。
token | 在服务器端生成的用于鉴权的安全认证签名(Token)。可设置为:
|
channelName | 期望切换到的目标房间名称 |
channelOptions | 加入房间时设置一些特定的房间参数 |
completion | 操作完成的 block 回调 |
- (int) switchChannelWithToken: | (NSString *) | token | |
channelName: | (NSString *) | channelName | |
completion: | (NERtcJoinChannelCompletion) | completion | |
快速切换音视频房间。 通过此接口可以实现当房间场景为直播场景时,房间中角色为观众的成员从当前房间快速切换至另一个房间。
参数名称 | 类型 | 描述 |
---|---|---|
token | NSString * | 在服务器端生成的用于鉴权的安全认证签名(Token),可设置为:
|
channelName | NSString * | 期望切换到的目标房间名称。 |
completion | NERtcJoinChannelCompletion | 操作完成的 block 回调。 |
|
readnonatomicweak |