RTCClientEvent 承载一条频道的会控事件。首次监听器必须通过 RTCEngine.join(..., clientEvent, ...) 传入;入会成功后可用 RTCChannel.setRtcClientEvent(...) 替换或解绑。
只关心少量事件时,建议继承提供空实现的 RTCClientSimpleEvent。
入会结果
onJoinSucceed(channel, uid, whiteBoard)
channel 为频道 ID,uid 为当前用户 ID,whiteBoard 为可空的白板地址或信息。应以本回调作为真正入会成功的依据。
onJoinFailed(channel, statusCode)
channel 有值,否则为 null;statusCode 见 错误码。
成员事件
onUserUpdate(channel, uid)
onMeMembershipChanged(channel, isMember)
isMember = true 表示升级为正式成员,false 表示降为观众;入会初始身份通过对应频道的 isAudience() 读取。
onRemoteUserJoin(channel, uid)
onRemoteUserLeave(channel, userInfo, leaveReason)
userInfo 是离会用户的最后一份信息快照。
onRemoteUserUpdate(channel, uid)
Track 与频道事件
onStreamTrackAdd(uid, channel, trackId, trackDesc)
RTCChannel 获取和订阅远端 Track。
onStreamTrackUpdate(uid, channel, trackId, trackDesc)
onStreamTrackRemove(uid, channel, trackInfo)
TrackInfo 字段见 类型定义。
onChannelUpdate(channel, props)
props 可能为 null。
onCustomMessage(channel, uid, sid, name, action, content)
channel 为消息所属频道,其他参数依次为发送者用户 ID、会话 ID、名称、动作标识和消息内容。
连接事件
onDisconnected(channel, leaveReason, statusCode, message)
join(...);其他频道不受影响。
onReconnected(channel)
onReconnecting(channel)
RTCClientEvent.onError(...) 已移除。Engine 阻断操作或全局错误统一由 RTCEngineEvent.onError(...) 返回。
:::