NERtc Windows SDK
Public Member Functions | List of all members
nertc::IRtcEngineEventHandler Class Reference

#include <nertc_engine_event_handler.h>

Inheritance diagram for nertc::IRtcEngineEventHandler:
nertc::IRtcEngineEventHandlerEx

Public Member Functions

virtual void onError (int error_code, const char *msg)
 
virtual void onWarning (int warn_code, const char *msg)
 
virtual void onReleasedHwResources (NERtcErrorCode result)
 
virtual void onJoinChannel (channel_id_t cid, uid_t uid, NERtcErrorCode result, uint64_t elapsed)
 
virtual void onReconnectingStart (channel_id_t cid, uid_t uid)
 
virtual void onConnectionStateChange (NERtcConnectionStateType state, NERtcReasonConnectionChangedType reason)
 
virtual void onRejoinChannel (channel_id_t cid, uid_t uid, NERtcErrorCode result, uint64_t elapsed)
 
virtual void onLeaveChannel (NERtcErrorCode result)
 
virtual void onDisconnect (NERtcErrorCode reason)
 
virtual void onClientRoleChanged (NERtcClientRole oldRole, NERtcClientRole newRole)
 
virtual void onUserJoined (uid_t uid, const char *user_name)
 
virtual void onUserLeft (uid_t uid, NERtcSessionLeaveReason reason)
 
virtual void onUserAudioStart (uid_t uid)
 
virtual void onUserAudioStop (uid_t uid)
 
virtual void onUserVideoStart (uid_t uid, NERtcVideoProfileType max_profile)
 
virtual void onUserVideoStop (uid_t uid)
 

Detailed Description

IRtcEngineEventHandler 回调接口类用于 SDK 向 App 发送回调事件通知,App 通过继承该接口类的方法获取 SDK 的事件通知。

接口类的所有方法都有缺省(空)实现,App 可以根据需要只继承关心的事件。在回调方法中,App 不应该做耗时或者调用可能会引起阻塞的 API(如开启音频或视频等),否则可能影响 SDK 的运行。

Member Function Documentation

virtual void nertc::IRtcEngineEventHandler::onClientRoleChanged ( NERtcClientRole  oldRole,
NERtcClientRole  newRole 
)
inlinevirtual

参会者角色类型变更回调。

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

Note
直播场景下,如果您在加入房间后调用该方法切换用户角色,调用成功后,会触发以下回调:
  • 主播切观众,本端触发onClientRoleChanged回调,远端触发onUserLeft回调。
  • 观众切主播,本端触发onClientRoleChanged回调,远端触发onUserJoined回调。
Parameters
oldRole原角色类型。
newRole新角色类型。
virtual void nertc::IRtcEngineEventHandler::onConnectionStateChange ( NERtcConnectionStateType  state,
NERtcReasonConnectionChangedType  reason 
)
inlinevirtual

连接状态变更。

有时候由于通话流程、用户行为、网络原因等,客户端通话状态变更,触发此回调。

Parameters
state变更后通话状态。
reason变更原因。
virtual void nertc::IRtcEngineEventHandler::onDisconnect ( NERtcErrorCode  reason)
inlinevirtual

掉线回调。

由于非网络原因,客户端可能会和服务器失去连接,此时SDK无需自动重连,直接触发此回调方法。

Parameters
reason返回结果。
virtual void nertc::IRtcEngineEventHandler::onError ( int  error_code,
const char *  msg 
)
inlinevirtual

发生错误回调。

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

Parameters
error_code错误代码: NERtcDMErrorCode.
msg错误描述。
virtual void nertc::IRtcEngineEventHandler::onJoinChannel ( channel_id_t  cid,
uid_t  uid,
NERtcErrorCode  result,
uint64_t  elapsed 
)
inlinevirtual

加入频道回调。

Parameters
cid频道 ID。
uid用户 ID。
result返回结果。
elapsed从 joinChannel 开始到发生此事件过去的时间(毫秒)。
virtual void nertc::IRtcEngineEventHandler::onLeaveChannel ( NERtcErrorCode  result)
inlinevirtual

离开频道回调。

App 调用 leaveChannel 方法时,SDK提示 App 离开频道是否成功。

Parameters
result返回结果。
virtual void nertc::IRtcEngineEventHandler::onReconnectingStart ( channel_id_t  cid,
uid_t  uid 
)
inlinevirtual

触发重连。

有时候由于网络原因,客户端可能会和服务器失去连接,SDK会进行自动重连,开始自动重连后触发此回调。

Parameters
cid频道 ID。
uid用户 ID。
virtual void nertc::IRtcEngineEventHandler::onRejoinChannel ( channel_id_t  cid,
uid_t  uid,
NERtcErrorCode  result,
uint64_t  elapsed 
)
inlinevirtual

重新加入频道回调。

有时候由于网络原因,客户端可能会和服务器失去连接,SDK会进行自动重连,自动重连后触发此回调方法。

Parameters
cid频道 ID。
uid用户 ID。
result返回结果。
elapsed从开始重连到发生此事件过去的时间(毫秒)。
virtual void nertc::IRtcEngineEventHandler::onReleasedHwResources ( NERtcErrorCode  result)
inlinevirtual

释放硬件资源的回调。

SDK提示释放硬件资源是否成功。

Parameters
result返回结果。
virtual void nertc::IRtcEngineEventHandler::onUserAudioStart ( uid_t  uid)
inlinevirtual

远端用户开启音频回调。

Parameters
uid远端用户ID。
virtual void nertc::IRtcEngineEventHandler::onUserAudioStop ( uid_t  uid)
inlinevirtual

远端用户停用音频回调。

Parameters
uid远端用户ID。
virtual void nertc::IRtcEngineEventHandler::onUserJoined ( uid_t  uid,
const char *  user_name 
)
inlinevirtual

远端用户加入当前频道回调。

  • 通信模式下,该回调提示有远端用户加入了频道,并返回新加入用户的 ID;如果加入之前,已经有其他用户在频道中了,新加入的用户也会收到这些已有用户加入频道的回调。
Parameters
uid新加入频道的远端用户ID。
user_name新加入频道的远端用户名(无效)。
virtual void nertc::IRtcEngineEventHandler::onUserLeft ( uid_t  uid,
NERtcSessionLeaveReason  reason 
)
inlinevirtual

远端用户离开当前频道回调。

提示有远端用户离开了频道(或掉线)。

Parameters
uid远端用户ID。
reason远端用户离开原因。
virtual void nertc::IRtcEngineEventHandler::onUserVideoStart ( uid_t  uid,
NERtcVideoProfileType  max_profile 
)
inlinevirtual

远端用户开启视频回调。

Parameters
uid远端用户ID。
max_profile最大分辨率。
virtual void nertc::IRtcEngineEventHandler::onUserVideoStop ( uid_t  uid)
inlinevirtual

远端用户停用视频回调。

Parameters
uid远端用户ID。
virtual void nertc::IRtcEngineEventHandler::onWarning ( int  warn_code,
const char *  msg 
)
inlinevirtual

发生警告回调。

该回调方法表示 SDK 运行时出现了(网络或媒体相关的)警告。通常情况下,SDK 上报的警告信息 App 可以忽略,SDK 会自动恢复。

Parameters
warn_code错误代码: NERtcWarnCode.
msg警告描述。

The documentation for this class was generated from the following file: