NERtc iOS SDK V5.6.20
载入中...
搜索中...
未找到
构造函数 | 所有成员列表
<NERtcEngineDelegate>协议 参考

NERtcEngine 常用回调 更多...

#include <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 
optionalrequired

◆ onNERtcEngineConnectionStateChangeWithState:reason:

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

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

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

◆ onNERtcEngineDidClientRoleChanged:newRole:

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

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

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

◆ onNERtcEngineDidDisconnectWithReason:

- (void) onNERtcEngineDidDisconnectWithReason: (NERtcError) reason
optionalrequired

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

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

◆ onNERtcEngineDidError:

- (void) onNERtcEngineDidError: (NERtcError) errCode
optional

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

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

◆ onNERtcEngineDidLeaveChannelWithResult:

- (void) onNERtcEngineDidLeaveChannelWithResult: (NERtcError) result
optionalrequired

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

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

◆ onNERtcEngineDidWarning:msg:

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

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

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

◆ onNERtcEngineMediaRightChangeWithAudio:video:

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

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

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

◆ onNERtcEngineReconnectingStart

- (void) onNERtcEngineReconnectingStart
optionalrequired

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

◆ onNERtcEngineRejoinChannel:

- (void) onNERtcEngineRejoinChannel: (NERtcError) result
optionalrequired

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

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

◆ onNERtcEngineUser:subStreamAudioMuted:

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

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

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

◆ onNERtcEngineUserAudioDidStart:

- (void) onNERtcEngineUserAudioDidStart: (uint64_t) userID
optionalrequired

远端用户开启音频回调。

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

◆ onNERtcEngineUserAudioDidStop:

- (void) onNERtcEngineUserAudioDidStop: (uint64_t) userID
optionalrequired

远端用户停用音频回调。

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

◆ onNERtcEngineUserDidJoinWithUserID:userName:

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

远端用户加入当前房间回调。 该回调提示有远端用户加入了房间,并返回新加入用户的 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 
optionalrequired

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

  • 远端用户加入房间或断网重连后,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 
optionalrequired

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

◆ onNERtcEngineUserDidLeaveWithUserID:reason:leaveExtraInfo:

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

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

  • 远端用户离开房间或掉线(在 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
optionalrequired

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

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

◆ onNERtcEngineUserSubStreamAudioDidStop:

- (void) onNERtcEngineUserSubStreamAudioDidStop: (uint64_t) userID
optionalrequired

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

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

◆ onNERtcEngineUserSubStreamDidStartWithUserID:subStreamProfile:

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

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

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

◆ onNERtcEngineUserSubStreamDidStop:

- (void) onNERtcEngineUserSubStreamDidStop: (uint64_t) userID
optionalrequired

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

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

◆ onNERtcEngineUserVideoDidStartWithUserID:videoProfile:

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

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

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

◆ onNERtcEngineUserVideoDidStop:

- (void) onNERtcEngineUserVideoDidStop: (uint64_t) userID
optionalrequired

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

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

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