NERtcEngineDelegate Protocol Reference

Conforms to NSObject
Declared in NERtcEngineDelegate.h

Overview

NERtcEngine 常用回调

– onNERtcEngineDidError:

发生错误回调。

- (void)onNERtcEngineDidError:(NERtcError)errCode

Parameters

errCode

错误码。详细信息请参考 NERtcError。

Discussion

发生错误回调。

该回调方法表示 SDK 运行时出现了网络或媒体相关的错误。

通常情况下,SDK上报的错误意味着 SDK 无法自动恢复,需要 App 干预或提示用户。

Declared In

NERtcEngineDelegate.h

– onNERtcEngineConnectionStateChangeWithState:reason:

SDK和服务端的连接状态已改变回调。

- (void)onNERtcEngineConnectionStateChangeWithState:(NERtcConnectionStateType)state reason:(NERtcReasonConnectionChangedType)reason

Parameters

state

当前的连接状态。详细信息请参考 NERtcConnectionStateType。

reason

引起当前连接状态改变的原因。NERtcReasonConnectionChangedType。

Discussion

SDK和服务端的连接状态已改变回调。

该回调在 SDK 和服务端的连接状态发生改变时触发,并告知用户当前的连接状态和引起状态改变的原因。

Declared In

NERtcEngineDelegate.h

– onNERtcEngineDidLeaveChannelWithResult:

退出房间回调。

- (void)onNERtcEngineDidLeaveChannelWithResult:(NERtcError)result

Parameters

result

退出房间结果。详细信息请参考 NERtcError。

Discussion

退出房间回调。

App 调用 leaveChannel 方法后,SDK 提示 App 退出房间是否成功。

Declared In

NERtcEngineDelegate.h

– onNERtcEngineDidDisconnectWithReason:

网络连接中断,且 SDK 连续 3 次重连服务器失败。

- (void)onNERtcEngineDidDisconnectWithReason:(NERtcError)reason

Parameters

reason

网络连接中断原因。详细信息请查看 NERtcError。

Discussion

网络连接中断,且 SDK 连续 3 次重连服务器失败。

Note:

  • SDK 在调用 joinChannel 加入房间成功后,如果和服务器失去连接且连续 3 次重连失败,就会触发该回调。
  • 如果 SDK 在断开连接后,连续 3 次重连失败,SDK 会停止尝试重连。

Declared In

NERtcEngineDelegate.h

– onNERtcEngineRejoinChannel:

重新加入房间回调。 在弱网环境下,若客户端和服务器失去连接,SDK会自动重连。自动重连成功后触发此回调方法。

- (void)onNERtcEngineRejoinChannel:(NERtcError)result

Parameters

result

重连结果。详细信息请参考NERtcError。

Discussion

重新加入房间回调。 在弱网环境下,若客户端和服务器失去连接,SDK会自动重连。自动重连成功后触发此回调方法。

Declared In

NERtcEngineDelegate.h

– onNERtcEngineUserDidJoinWithUserID:userName:

远端用户加入当前房间回调。

- (void)onNERtcEngineUserDidJoinWithUserID:(uint64_t)userID userName:(NSString *)userName

Parameters

userID

新加入房间的远端用户 ID。

userName

新加入房间的远端用户名。废弃字段,无需关注。

Discussion

远端用户加入当前房间回调。

该回调提示有远端用户加入了房间,并返回新加入用户的 ID;如果加入之前,已经有其他用户在房间中了,新加入的用户也会收到这些已有用户加入房间的回调。

该回调在如下情况下会被触发:

  • 远端用户调用 joinChannel 方法加入房间。
  • 远端用户网络中断后重新加入房间。

Declared In

NERtcEngineDelegate.h

– onNERtcEngineUserDidLeaveWithUserID:reason:

远端用户离开当前房间回调。

- (void)onNERtcEngineUserDidLeaveWithUserID:(uint64_t)userID reason:(NERtcSessionLeaveReason)reason

Parameters

userID

离开房间的远端用户 ID。

reason

远端用户离开的原因。详细信息请参考 NERtcSessionLeaveReason。

Discussion

远端用户离开当前房间回调。

提示有远端用户离开了房间(或掉线)。用户离开房间有两个原因,即正常离开和超时掉线:

  • 正常离开的时候,远端用户会收到相关消息消息,判断用户离开房间。
  • 超时掉线的依据是,在一定时间内(40~50s),用户没有收到对方的任何数据包,则判定为对方掉线。

Declared In

NERtcEngineDelegate.h

– onNERtcEngineDidClientRoleChanged:newRole:

直播场景下用户角色已切换回调。

- (void)onNERtcEngineDidClientRoleChanged:(NERtcClientRole)oldRole newRole:(NERtcClientRole)newRole

Parameters

oldRole

切换前的角色。

newRole

切换后的角色。

Discussion

直播场景下用户角色已切换回调。

用户加入房间后,通过 setClientRole 切换用户角色后会触发此回调。例如从主播切换为观众、从观众切换为主播。

Note: 直播场景下,如果您在加入房间后调用该方法切换用户角色,调用成功后,会触发以下回调:

  • 主播切观众,本端触发 onNERtcEngineDidClientRoleChanged 回调,远端触发 onNERtcEngineUserDidLeaveWithUserID 回调。
  • 观众切主播,本端触发 onNERtcEngineDidClientRoleChanged 回调,远端触发 onNERtcEngineUserDidJoinWithUserID 回调。

Declared In

NERtcEngineDelegate.h

– onNERtcEngineReconnectingStart

重连开始回调。

- (void)onNERtcEngineReconnectingStart

Discussion

重连开始回调。

客户端和服务器断开连接时,SDK 会进行重连,重连开始时触发此回调。重连结果请参考 onNERtcEngineRejoinChannel 、onNERtcEngineDidDisconnectWithReason。

Declared In

NERtcEngineDelegate.h

– onNERtcEngineUserAudioDidStart:

远端用户开启音频回调。

- (void)onNERtcEngineUserAudioDidStart:(uint64_t)userID

Parameters

userID

远端用户 ID。

Discussion

远端用户开启音频回调。

Declared In

NERtcEngineDelegate.h

– onNERtcEngineUserAudioDidStop:

远端用户停用音频回调。

- (void)onNERtcEngineUserAudioDidStop:(uint64_t)userID

Parameters

userID

远端用户 ID。

Discussion

远端用户停用音频回调。

Declared In

NERtcEngineDelegate.h

– onNERtcEngineUserVideoDidStartWithUserID:videoProfile:

远端用户开启视频回调。

- (void)onNERtcEngineUserVideoDidStartWithUserID:(uint64_t)userID videoProfile:(NERtcVideoProfileType)profile

Parameters

userID

用户 ID,提示是哪个用户的视频流。

profile

远端用户的视频 profile 档位。详细信息请参考 NERtcVideoProfileType。

Discussion

远端用户开启视频回调。

Note: 纯音频 SDK 禁用该接口,如需使用请前往云信官网下载并替换成视频 SDK。

Declared In

NERtcEngineDelegate.h

– onNERtcEngineUserVideoDidStop:

远端用户停用视频回调。

- (void)onNERtcEngineUserVideoDidStop:(uint64_t)userID

Parameters

userID

远端用户 ID。

Discussion

远端用户停用视频回调。

Note: 纯音频 SDK 禁用该接口,如需使用请前往云信官网下载并替换成视频 SDK。

Declared In

NERtcEngineDelegate.h

– onNERtcEngineUserSubStreamDidStartWithUserID:subStreamProfile:

远端用户开启屏幕共享辅流通道的回调。

- (void)onNERtcEngineUserSubStreamDidStartWithUserID:(uint64_t)userID subStreamProfile:(NERtcVideoProfileType)profile

Parameters

userID

远端用户 ID。

profile

远端视频分辨率等级。详细信息请参考 NERtcVideoProfileType。

Discussion

远端用户开启屏幕共享辅流通道的回调。

Note: 纯音频 SDK 禁用该接口,如需使用请前往云信官网下载并替换成视频 SDK。

Declared In

NERtcEngineDelegate.h

– onNERtcEngineUserSubStreamDidStop:

远端用户停止屏幕共享辅流通道的回调。

- (void)onNERtcEngineUserSubStreamDidStop:(uint64_t)userID

Parameters

userID

远端用户 ID。

Discussion

远端用户停止屏幕共享辅流通道的回调。

Note: 纯音频 SDK 禁用该接口,如需使用请前往云信官网下载并替换成视频 SDK。

Declared In

NERtcEngineDelegate.h