NERtc Windows SDK
V5.3.1
|
#include <nertc_engine_event_handler.h>
Public 成员函数 | |
virtual void | onError (int error_code, const char *msg) |
virtual void | onWarning (int warn_code, const char *msg) |
virtual void | onApiCallExecuted (const char *api_name, NERtcErrorCode error, const char *message) |
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 | onUserJoined (uid_t uid, const char *user_name, NERtcUserJoinExtraInfo join_extra_info) |
virtual void | onUserLeft (uid_t uid, NERtcSessionLeaveReason reason) |
virtual void | onUserLeft (uid_t uid, NERtcSessionLeaveReason reason, NERtcUserJoinExtraInfo leave_extra_info) |
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) |
IRtcEngineEventHandler 回调接口类用于 SDK 向 App 发送回调事件通知,App 通过继承该接口类的方法获取 SDK 的事件通知。 接口类的所有方法都有缺省(空)实现,App 可以根据需要只继承关心的事件。在回调方法中,App 不应该做耗时或者调用可能会引起阻塞的 API(如开启音频或视频等),否则可能影响 SDK 的运行。
|
inlinevirtual |
API调用结束回调。
该回调方法表示 SDK 执行完了一个用户的API调用。
api_name | API名称 |
error | API执行结果错误码。 |
message | API执行结果描述。 |
|
inlinevirtual |
直播场景下用户角色已切换回调。
本地用户加入房间后,通过 setClientRole 切换用户角色后会触发此回调。例如主播切换为观众、从观众切换为主播。
oldRole | 切换前的角色。详细信息请参考 NERtcClientRole。 |
newRole | 切换后的角色。详细信息请参考 NERtcClientRole。 |
|
inlinevirtual |
房间连接状态已改变回调。
该回调在房间连接状态发生改变的时候触发,并告知用户当前的房间连接状态和引起房间状态改变的原因。
state | 当前的房间连接状态。 |
reason | 引起当前房间连接状态发生改变的原因。 |
|
inlinevirtual |
网络连接中断
reason | 网络连接中断原因。 |
|
inlinevirtual |
发生错误回调。
该回调方法表示 SDK 运行时出现了(网络或媒体相关的)错误。通常情况下,SDK上报的错误意味着SDK无法自动恢复,需要 App 干预或提示用户。
error_code | 错误码。详细信息请参考 NERtcDMErrorCode |
msg | 错误描述。 |
|
inlinevirtual |
加入房间回调,表示客户端已经登入服务器。
cid | 客户端加入的房间 ID。 |
uid | 用户 ID。如果在 joinChannel 方法中指定了 uid,此处会返回指定的 ID; 如果未指定 uid(joinChannel 时uid=0),此处将返回云信服务器自动分配的 ID。 |
result | 返回结果。 |
elapsed | 从 joinChannel 开始到发生此事件过去的时间,单位为毫秒。 |
|
inlinevirtual |
退出房间回调。
App 调用 leaveChannel 方法后,SDK 提示 App 退出房间是否成功。
result | 返回结果。错误码请参考 NERtcErrorCode 。在快速切换房间时 code 为 kNERtcErrChannelLeaveBySwitchAction。 |
|
inlinevirtual |
触发重连。
有时候由于网络原因,客户端可能会和服务器失去连接,SDK会进行自动重连,开始自动重连后触发此回调。
cid | 房间 ID。 |
uid | 用户 ID。 |
|
inlinevirtual |
重新加入房间回调。
在弱网环境下,若客户端和服务器失去连接,SDK会自动重连。自动重连成功后触发此回调方法。
cid | 客户端加入的房间 ID。 |
uid | 用户 ID。 |
result | 返回结果。 |
elapsed | 从开始重连到发生此事件过去的时间,单位为毫秒。 |
|
inlinevirtual |
释放硬件资源的回调。
SDK提示释放硬件资源是否成功。
result | 返回结果。 |
|
inlinevirtual |
远端用户开启音频的回调。
uid | 远端用户ID。 |
|
inlinevirtual |
远端用户停用音频的回调。
uid | 远端用户ID。 |
|
inlinevirtual |
远端用户(通信场景)/主播(直播场景)加入当前频道回调。
该回调在如下情况下会被触发:
uid | 新加入房间的远端用户 ID。 |
user_name | 新加入房间的远端用户名。 |
|
inlinevirtual |
远端用户加入房间事件回调。 远端用户加入房间或断网重连后,SDK 会触发该回调,可以通过返回的用户 ID 订阅对应用户发布的音、视频流。
同类型事件发生后,onUserJoined 回调可能会与该回调同时触发,建议您仅注册此回调,不能同时处理两个回调。
参数名称 | 类型 | 描述 |
---|---|---|
uid | uid_t | 新加入房间的远端用户 ID。 |
join_extra_info | NERtcUserJoinExtraInfo | 该远端用户加入的额外信息。 |
|
inlinevirtual |
远端用户离开当前房间的回调。
提示有远端用户离开了房间(或掉线)。通常情况下,用户离开房间有两个原因,即正常离开和超时掉线:
uid | 离开房间的远端用户 ID。 |
reason | 远端用户离开原因。 |
|
inlinevirtual |
远端用户离开房间事件回调。
参数名称 | 类型 | 描述 |
---|---|---|
uid | uid_t | 离开房间的远端用户 ID。 |
reason | /ref nertc::NERtcSessionLeaveReason | 该远端用户离开的原因,更多请参考 NERtcErrorCode。
|
leave_extra_info | nertc::NERtcUserJoinExtraInfo | 该远端用户离开的额外信息。 |
|
inlinevirtual |
远端用户开启视频的回调。
启用后,用户可以进行视频通话或直播。
uid | 远端用户ID。 |
max_profile | 视频编码的分辨率,用于衡量编码质量。 |
|
inlinevirtual |
远端用户停用视频的回调。
关闭后,用户只能进行语音通话或者直播。
uid | 远端用户ID。 |
|
inlinevirtual |
发生警告回调。
该回调方法表示 SDK 运行时出现了(网络或媒体相关的)警告。通常情况下,SDK 上报的警告信息 App 可以忽略,SDK 会自动恢复。
warn_code | 警告码。详细信息请参考 NERtcWarnCode。 |
msg | 警告描述。 |