NERtc iOS SDK  V5.6.0
构造函数 | 所有成员列表
<NERtcEngineDelegate>协议 参考

NERtcEngine 常用回调 更多...

#import <NERtcEngineDelegate.h>

类 <NERtcEngineDelegate> 继承关系图:
<NERtcEngineDelegateEx>

构造函数

(void) - onNERtcEngineDidError:
 发生错误回调。 该回调方法表示 SDK 运行时出现了网络或媒体相关的错误。 通常情况下,SDK上报的错误意味着 SDK 无法自动恢复,需要 App 干预或提示用户。 更多...
 
(void) - onNERtcEngineDidWarning:msg:
 发生警告回调。 该回调方法表示 SDK 运行时出现了网络或媒体相关的警告。 通常情况下,SDK上报的警告意味着 SDK 无法自动适配,需要 App 干预或提示用户。 更多...
 
(void) - onNERtcEngineApiDidExecuted:errCode:msg:
 
(void) - onNERtcEngineConnectionStateChangeWithState:reason:
 SDK和服务端的连接状态已改变回调。 该回调在 SDK 和服务端的连接状态发生改变时触发,并告知用户当前的连接状态和引起状态改变的原因。 更多...
 
(void) - onNERtcEngineDidLeaveChannelWithResult:
 退出房间回调。 App 调用 leaveChannel 方法后,SDK 提示 App 退出房间是否成功。 更多...
 
(void) - onNERtcEngineDidDisconnectWithReason:
 与服务器连接中断,可能原因包括:网络连接失败、服务器关闭该房间、用户被踢出房间等。 更多...
 
(void) - onNERtcEngineRejoinChannel:
 重新加入房间回调。 在弱网环境下,若客户端和服务器失去连接,SDK会自动重连。自动重连成功后触发此回调方法。 更多...
 
(void) - onNERtcEngineUserDidJoinWithUserID:userName:
 远端用户加入当前房间回调。 该回调提示有远端用户加入了房间,并返回新加入用户的 ID;如果加入之前,已经有其他用户在房间中了,新加入的用户也会收到这些已有用户加入房间的回调。 更多...
 
(void) - onNERtcEngineUserDidJoinWithUserID:userName:joinExtraInfo:
 远端用户加入房间事件回调。 更多...
 
(void) - onNERtcEngineUserDidLeaveWithUserID:reason:
 远端用户离开当前房间回调。 提示有远端用户离开了房间(或掉线)。用户离开房间有两个原因,即正常离开和超时掉线: 更多...
 
(void) - onNERtcEngineUserDidLeaveWithUserID:reason:leaveExtraInfo:
 远端用户离开房间事件回调。 更多...
 
(void) - onNERtcEngineDidClientRoleChanged:newRole:
 直播场景下用户角色已切换回调。
用户加入房间后,通过 INERtcEngine#setClientRole: 切换用户角色后会触发此回调。例如从主播切换为观众、从观众切换为主播。 更多...
 
(void) - onNERtcEngineReconnectingStart
 重连开始回调。 客户端和服务器断开连接时,SDK 会进行重连,重连开始时触发此回调。重连结果请参考 onNERtcEngineRejoinChannel 、onNERtcEngineDidDisconnectWithReason。 更多...
 
(void) - onNERtcEngineUserAudioDidStart:
 远端用户开启音频回调。 更多...
 
(void) - onNERtcEngineUserAudioDidStop:
 远端用户停用音频回调。 更多...
 
(void) - onNERtcEngineUserVideoDidStartWithUserID:videoProfile:
 远端用户开启视频回调。
启用后,用户可以进行视频通话或直播。 更多...
 
(void) - onNERtcEngineUserVideoDidStop:
 远端用户停用视频回调。
关闭后,用户只能进行语音通话或者直播。 更多...
 
(void) - onNERtcEngineUserSubStreamDidStartWithUserID:subStreamProfile:
 远端用户开启屏幕共享辅流通道的回调。 更多...
 
(void) - onNERtcEngineUserSubStreamDidStop:
 远端用户停止屏幕共享辅流通道的回调。 更多...
 
(void) - onNERtcEngineMediaRightChangeWithAudio:video:
 服务端禁言音视频权限变化回调。 更多...
 
(void) - onNERtcEngineUserSubStreamAudioDidStart:
 远端用户开启音频辅流回调。 更多...
 
(void) - onNERtcEngineUserSubStreamAudioDidStop:
 远端用户停用音频辅流回调。 更多...
 
(void) - onNERtcEngineUser:subStreamAudioMuted:
 远端用户暂停或恢复发送音频辅流的回调。 更多...
 

详细描述

NERtcEngine 常用回调

函数文档

◆ onNERtcEngineApiDidExecuted:errCode:msg:

- (void) onNERtcEngineApiDidExecuted: (NSString *)  apiName
errCode: (NERtcError errCode
msg: (NSString *)  msg 
optional

◆ onNERtcEngineConnectionStateChangeWithState:reason:

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

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

参数
state当前的连接状态。详细信息请参考 NERtcConnectionStateType
reason引起当前连接状态改变的原因。详细信息请参考 NERtcReasonConnectionChangedType

◆ onNERtcEngineDidClientRoleChanged:newRole:

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

直播场景下用户角色已切换回调。
用户加入房间后,通过 INERtcEngine#setClientRole: 切换用户角色后会触发此回调。例如从主播切换为观众、从观众切换为主播。

注解
直播场景下,如果您在加入房间后调用该方法切换用户角色,调用成功后,会触发以下回调:
自从
V4.5.0
参数
oldRole切换前的角色。详细信息请参考 NERtcClientRole
newRole切换后的角色。详细信息请参考 NERtcClientRole

◆ onNERtcEngineDidDisconnectWithReason:

- (void) onNERtcEngineDidDisconnectWithReason: (NERtcError reason
optional

与服务器连接中断,可能原因包括:网络连接失败、服务器关闭该房间、用户被踢出房间等。

注解
SDK 在调用 joinChannel 加入房间成功后,如果和服务器失去连接,就会触发该回调。
参数
reason网络连接中断原因。详细信息请查看 NERtcEngineErrorCode.NERtcError

◆ onNERtcEngineDidError:

- (void) onNERtcEngineDidError: (NERtcError errCode
optional

发生错误回调。 该回调方法表示 SDK 运行时出现了网络或媒体相关的错误。 通常情况下,SDK上报的错误意味着 SDK 无法自动恢复,需要 App 干预或提示用户。

参数
errCode错误码。详细信息请参考 NERtcEngineErrorCode.NERtcError

◆ onNERtcEngineDidLeaveChannelWithResult:

- (void) onNERtcEngineDidLeaveChannelWithResult: (NERtcError result
optional

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

参数
result退出房间结果。详细信息请参考 NERtcEngineErrorCode.NERtcError。在快速切换房间时 code 为 kNERtcErrChannelLeaveBySwitchAction。

◆ onNERtcEngineDidWarning:msg:

- (void) onNERtcEngineDidWarning: (NERtcWarning warnCode
msg: (NSString *)  msg 
optional

发生警告回调。 该回调方法表示 SDK 运行时出现了网络或媒体相关的警告。 通常情况下,SDK上报的警告意味着 SDK 无法自动适配,需要 App 干预或提示用户。

自从
V4.3.0
参数
warnCode错误码。详细信息请参考 NERtcWarning
msg警告描述。

◆ onNERtcEngineMediaRightChangeWithAudio:video:

- (void) onNERtcEngineMediaRightChangeWithAudio: (BOOL)  isAudioBannedByServer
video: (BOOL)  isVideoBannedByServer 
optional

服务端禁言音视频权限变化回调。

自从
v4.6.0
参数
isAudioBannedByServer是否禁用音频。
  • true:禁用音频。
  • false:取消禁用音频。
isVideoBannedByServer是否禁用视频。
  • true:禁用视频。
  • false:取消禁用视频。

◆ onNERtcEngineReconnectingStart

- (void) onNERtcEngineReconnectingStart
optional

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

◆ onNERtcEngineRejoinChannel:

- (void) onNERtcEngineRejoinChannel: (NERtcError result
optional

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

参数
result重连结果。详细信息请参考 NERtcEngineErrorCode.NERtcError

◆ onNERtcEngineUser:subStreamAudioMuted:

- (void) onNERtcEngineUser: (uint64_t)  userID
subStreamAudioMuted: (BOOL)  muted 
optional

远端用户暂停或恢复发送音频辅流的回调。

自从
V4.6.10
参数
userID用户 ID,提示是哪个用户的音频辅流。
muted是否停止发送音频辅流。
  • YES:该用户已暂停发送音频辅流。
  • NO:该用户已恢复发送音频辅流。

◆ onNERtcEngineUserAudioDidStart:

- (void) onNERtcEngineUserAudioDidStart: (uint64_t)  userID
optional

远端用户开启音频回调。

注解
该回调由远端用户调用 enableLocalAudio 方法开启音频采集和发送触发。
参数
userID远端用户 ID。

◆ onNERtcEngineUserAudioDidStop:

- (void) onNERtcEngineUserAudioDidStop: (uint64_t)  userID
optional

远端用户停用音频回调。

注解
该回调由远端用户调用 enableLocalAudio 方法关闭音频采集和发送触发。
参数
userID远端用户 ID。

◆ onNERtcEngineUserDidJoinWithUserID:userName:

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

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

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

  • 远端用户调用 joinChannelWithToken 方法加入房间。
  • 远端用户网络中断后重新加入房间。
    注解
    直播场景下:
    • 主播间能相互收到新主播加入频道的回调,并能获得该主播的用户 ID。
    • 观众也能收到新主播加入频道的回调,并能获得该主播的用户 ID。
    • 当 Web 端加入直播频道时,只要 Web 端有推流,SDK 会默认该 Web 端为主播,并触发该回调。
    参数
    userID用户 ID。
    userName新加入房间的远端用户名。废弃字段,无需关注。

◆ onNERtcEngineUserDidJoinWithUserID:userName:joinExtraInfo:

- (void) onNERtcEngineUserDidJoinWithUserID: (uint64_t)  userID
userName: (NSString *)  userName
joinExtraInfo: (nullable NERtcUserJoinExtraInfo *)  joinExtraInfo 
optional

远端用户加入房间事件回调。

  • 远端用户加入房间或断网重连后,SDK 会触发该回调,可以通过返回的用户 ID 订阅对应用户发布的音、视频流。
    • 通信场景下,该回调通知有远端用户加入了房间,并返回新加入用户的 ID;若该用户加入之前,已有其他用户在房间中,该新加入的用户也会收到这些已有用户加入房间的回调。
    • 直播场景下,该回调通知有主播加入了房间,并返回该主播的用户 ID;若该用户加入之前,已经有主播在频道中了,新加入的用户也会收到已有主播加入房间的回调。
      自从
      V4.6.29
      使用前提
      请在 NERtcEngineDelegate 接口类中通过 INERtcEngine#setupEngineWithContext: 接口设置回调监听。
      注解
  • 同类型事件发生后,NERtcEngineDelegate#onNERtcEngineUserDidJoinWithUserID:userName: 回调可能会与该回调同时触发,建议您仅注册此回调,不能同时处理两个回调。
  • 当 Web 端用户加入直播场景的房间中,只要该用户发布了媒体流,SDK 会默认该用户为主播,并触发此回调。
    参数说明
    参数名称 类型 描述
    userID uint64_t 新加入房间的远端用户 ID。
    joinExtraInfo NERtcUserJoinExtraInfo * 该远端用户加入的额外信息。

◆ onNERtcEngineUserDidLeaveWithUserID:reason:

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

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

  • 正常离开的时候,远端用户会收到相关消息消息,判断用户离开房间。
  • 超时掉线的依据是,在一定时间内(40~50s),用户没有收到对方的任何数据包,则判定为对方掉线。
    参数
    userID离开房间的远端用户 ID。
    reason远端用户离开的原因。
  • kNERtcSessionLeaveNormal(0):正常离开。
  • kNERtcSessionLeaveForFailOver(1):用户断线导致离开房间。
  • kNERTCSessionLeaveForUpdate(2):用户因 Failover 导致离开房间,仅 SDK 内部使用。
  • kNERtcSessionLeaveForKick(3):用户被踢导致离开房间。
  • kNERtcSessionLeaveTimeout(4):用户超时退出房间。

◆ onNERtcEngineUserDidLeaveWithUserID:reason:leaveExtraInfo:

- (void) onNERtcEngineUserDidLeaveWithUserID: (uint64_t)  userID
reason: (NERtcSessionLeaveReason reason
leaveExtraInfo: (nullable NERtcUserLeaveExtraInfo *)  leaveExtraInfo 
optional

远端用户离开房间事件回调。

  • 远端用户离开房间或掉线(在 40 ~ 50 秒内本端用户未收到远端用户的任何数据包)后,SDK 会触发该回调。
    自从
    V4.6.29
    使用前提
    请在 NERtcEngineDelegate 接口类中通过 INERtcEngine#setupEngineWithContext: 接口设置回调监听。
    注解
    同类型事件发生后,NERtcEngineDelegate#onNERtcEngineUserDidLeaveWithUserID:reason: 回调可能会与该回调同时触发,建议您仅注册此回调,不能同时处理两个回调。
    参数说明
    参数名称 类型 描述
    uid long 离开房间的远端用户 ID。
    reason int 该远端用户离开的原因,更多请参考 NERtcEngineErrorCode.NERtcError
    • kNERtcSessionLeaveNormal(0):正常离开。
    • kNERtcSessionLeaveForFailOver(1):用户断线导致离开房间。
    • kNERTCSessionLeaveForUpdate(2):用户因 Failover 导致离开房间,仅 SDK 内部使用。
    • kNERtcSessionLeaveForKick(3):用户被踢导致离开房间。
    • kNERtcSessionLeaveTimeout(4):用户超时退出房间。
    leaveExtraInfo NERtcUserLeaveExtraInfo * 该远端用户离开的额外信息。

◆ onNERtcEngineUserSubStreamAudioDidStart:

- (void) onNERtcEngineUserSubStreamAudioDidStart: (uint64_t)  userID
optional

远端用户开启音频辅流回调。

自从
V4.6.10
参数
userID远端用户 ID。

◆ onNERtcEngineUserSubStreamAudioDidStop:

- (void) onNERtcEngineUserSubStreamAudioDidStop: (uint64_t)  userID
optional

远端用户停用音频辅流回调。

自从
V4.6.10
参数
userID远端用户 ID。

◆ onNERtcEngineUserSubStreamDidStartWithUserID:subStreamProfile:

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

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

注解
纯音频 SDK 禁用该接口,如需使用请前往云信官网下载并替换成视频 SDK。
参数
userID远端用户 ID。
profile远端视频分辨率等级。详细信息请参考 NERtcVideoProfileType

◆ onNERtcEngineUserSubStreamDidStop:

- (void) onNERtcEngineUserSubStreamDidStop: (uint64_t)  userID
optional

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

注解
纯音频 SDK 禁用该接口,如需使用请前往云信官网下载并替换成视频 SDK。
参数
userID远端用户 ID。

◆ onNERtcEngineUserVideoDidStartWithUserID:videoProfile:

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

远端用户开启视频回调。
启用后,用户可以进行视频通话或直播。

注解
纯音频 SDK 禁用该接口,如需使用请前往云信官网下载并替换成视频 SDK。
参数
userID用户 ID,提示是哪个用户的视频流。
profile远端用户的视频 profile 档位。详细信息请参考 NERtcVideoProfileType

◆ onNERtcEngineUserVideoDidStop:

- (void) onNERtcEngineUserVideoDidStop: (uint64_t)  userID
optional

远端用户停用视频回调。
关闭后,用户只能进行语音通话或者直播。

注解
纯音频 SDK 禁用该接口,如需使用请前往云信官网下载并替换成视频 SDK。
参数
userID远端用户 ID。

该协议的文档由以下文件生成: