public abstract class com.ss.bytertc.rts.engine.handler.IRTSEventHandler
RTS engine event callback handler
public void com.ss.bytertc.rts.engine.handler.IRTSEventHandler.onSysStats( SysStats stats)
通知当前 cpu、内存使用信息的回调,每 2s 回调一次。
传入参数
参数名 | 类型 | 说明 |
---|---|---|
stats | SysStats | cpu、内存信息。详见 SysStats 数据类型。 |
public void com.ss.bytertc.rts.engine.handler.IRTSEventHandler.onNetworkTypeChanged( int type)
SDK 当前网络连接类型改变的回调。
传入参数
参数名 | 类型 | 说明 |
---|---|---|
type | int | 网络类型: • -1: 网络连接类型未知。 • 0: 网络连接已断开。 • 1: LAN • 2: Wi-Fi,包含热点 • 3: 2G 移动网络 • 4: 3G 移动网络 • 5: 4G 移动网络 • 6: 5G 移动网络 |
public void com.ss.bytertc.rts.engine.handler.IRTSEventHandler.onCreateRoomStateChanged( String roomId, int errorCode)
创建房间失败回调。
传入参数
参数名 | 类型 | 说明 |
---|---|---|
roomId | String | 房间 ID。 |
errorCode | int | 创建房间错误码: • -1007:无效 roomId; • -1013:相同 roomId 的房间已存在。 |
public void com.ss.bytertc.rts.engine.handler.IRTSEventHandler.onConnectionStateChanged( int state, int reason)
SDK 与信令服务器的网络连接状态改变时的回调。
传入参数
参数名 | 类型 | 说明 |
---|---|---|
state | int | 当前 SDK 与信令服务器连接状态。详细定义参见 ConnectionState |
reason | int | 引起信令服务器连接状态发生改变的原因,目前未启用,固定为 -1 。 |
注意
更多信息参见 连接状态提示。
public void com.ss.bytertc.rts.engine.handler.IRTSEventHandler.onLogReport( String logType, JSONObject logContent)
上报日志时回调该事件。
传入参数
参数名 | 类型 | 说明 |
---|---|---|
logType | String | 日志类型。 |
logContent | JSONObject | 日志内容。 |
public void com.ss.bytertc.rts.engine.handler.IRTSEventHandler.onLoginResult( String uid, int error_code, int elapsed)
登录 RTS 服务器结果回调。
传入参数
参数名 | 类型 | 说明 |
---|---|---|
uid | String | 登录用户 ID。 |
error_code | int | 登录结果,详见 LoginErrorCode。 |
elapsed | int | 从调用 login 接口开始到返回结果所用时长,单位为 ms。 |
注意
调用 login 后,会收到此回调。
public void com.ss.bytertc.rts.engine.handler.IRTSEventHandler.onLogout()
登出结果回调。
注意
调用 logout 后,会收到此回调。
public void com.ss.bytertc.rts.engine.handler.IRTSEventHandler.onServerParamsSetResult( int error)
设置应用服务器参数的结果回调。
传入参数
参数名 | 类型 | 说明 |
---|---|---|
error | int | 设置结果: • 200:设置成功; • 其他:设置失败。 |
注意
调用 setServerParams 后,会收到此回调。
public void com.ss.bytertc.rts.engine.handler.IRTSEventHandler.onGetPeerOnlineStatus( String peerUserId, int status)
查询本地或远端用户登录状态的结果回调。
传入参数
参数名 | 类型 | 说明 |
---|---|---|
peerUserId | String | 需要查询的用户 ID |
status | int | 查询的用户登录状态,详见 UserOnlineStatus. |
注意
必须先调用 getPeerOnlineStatus,才能收到此回调。
public void com.ss.bytertc.rts.engine.handler.IRTSEventHandler.onMessageReceived( String uid, String message)
收到远端用户调用 sendMessage 发来的文本消息时,会收到此回调。
传入参数
参数名 | 类型 | 说明 |
---|---|---|
uid | String | 消息发送者 ID。 |
message | String | 收到的文本消息内容。 |
public void com.ss.bytertc.rts.engine.handler.IRTSEventHandler.onBinaryMessageReceived( String uid, ByteBuffer message)
收到远端用户调用 sendBinaryMessage 发来的二进制消息时,会收到此回调。
传入参数
参数名 | 类型 | 说明 |
---|---|---|
uid | String | 消息发送者 ID。 |
message | ByteBuffer | 收到的二进制消息内容。 |
public void com.ss.bytertc.rts.engine.handler.IRTSEventHandler.onMessageSendResult( long msgid, int error)
发送 p2p 消息的结果回调。
传入参数
参数名 | 类型 | 说明 |
---|---|---|
msgid | long | 本条消息的 ID。 所有的 P2P 和 P2Server 消息共用一个 ID 序列。 |
error | int | 消息发送结果,详见 UserMessageSendResult。 |
注意
当调用 sendMessage 或 sendBinaryMessage 发送消息后,会收到此回调。
public void com.ss.bytertc.rts.engine.handler.IRTSEventHandler.onServerMessageSendResult( long msgid, int error, ByteBuffer message)
发送 p2server 消息的结果回调。
传入参数
参数名 | 类型 | 说明 |
---|---|---|
msgid | long | 本条消息的 ID。 所有的 P2P 和 P2Server 消息共用一个 ID 序列。 |
error | int | 消息发送结果,详见 UserMessageSendResult。 |
message | ByteBuffer | 应用服务器收到 HTTP 请求后,在 ACK 中返回的信息。 |
注意
当调用 sendServerMessage 或 sendServerBinaryMessage 接口发送消息后,会收到此回调。
public void com.ss.bytertc.rts.engine.handler.IRTSEventHandler.onLocalProxyStateChanged( LocalProxyType localProxyType, LocalProxyState localProxyState, LocalProxyError localProxyError)
本地代理状态发生改变回调。调用 setLocalProxy 设置本地代理后,SDK 会触发此回调,通知代理连接的状态。
传入参数
参数名 | 类型 | 说明 |
---|---|---|
localProxyType | LocalProxyType | 本地代理类型。参看 LocalProxyType 。 |
localProxyState | LocalProxyState | 本地代理状态。参看 LocalProxyState。 |
localProxyError | LocalProxyError | 本地代理错误。参看 LocalProxyError。 |
public abstract class com.ss.bytertc.rts.engine.handler.IRTSRoomEventHandler
RTS room event callback handler
返回 | 名称 |
---|---|
abstract void | onLeaveRoom |
abstract void | onRoomStateChanged |
abstract void | onUserJoined |
abstract void | onUserLeave |
abstract void | onRoomMessageReceived |
abstract void | onRoomBinaryMessageReceived |
abstract void | onRoomMessageSendResult |
public abstract void com.ss.bytertc.rts.engine.handler.IRTSRoomEventHandler.onLeaveRoom()
离开房间成功回调。
用户调用 leaveRoom 方法后,SDK 会停止房间内消息的收发,并在释放所有相关资源后,通过此回调通知用户离开房间成功。
注意
用户调用 leaveRoom 方法离开房间后,如果立即调用 destroyRTS 方法销毁 RTC 引擎,则将无法收到此回调事件。
public abstract void com.ss.bytertc.rts.engine.handler.IRTSRoomEventHandler.onRoomStateChanged( String roomId, String uid, int state, String extraInfo)
房间状态改变回调,加入房间、异常退出房间、发生房间相关的警告或错误时会收到此回调。
传入参数
参数名 | 类型 | 说明 |
---|---|---|
roomId | String | 房间 ID。 |
uid | String | 用户 ID。 |
state | int | 房间状态码。 • 0: 加入房间成功。 • !0: 加入房间失败、异常退房、发生房间相关的警告或错误。具体原因参看 ErrorCode 及 WarningCode。 |
extraInfo | String | 额外信息,如 {"elapsed":1187,"join_type":0} 。join_type 表示加入房间的类型,0 为首次进房,1 为重连进房。elapsed 表示加入房间耗时,即本地用户从调用 joinRoom 到加入房间成功所经历的时间间隔,单位为 ms。 |
public abstract void com.ss.bytertc.rts.engine.handler.IRTSRoomEventHandler.onUserJoined( String uid, int elapsed)
远端用户首次进房,或断网后重新连入房间时,房间内其他用户将收到该事件。
传入参数
参数名 | 类型 | 说明 |
---|---|---|
uid | String | 加入房间的用户 ID |
elapsed | int | 远端用户调用 joinRoom 加入房间到房间内其他用户收到该事件经历的时间,单位为 ms。 |
public abstract void com.ss.bytertc.rts.engine.handler.IRTSRoomEventHandler.onUserLeave( String uid, int reason)
远端用户离开房间时,本地用户会收到此事件
传入参数
参数名 | 类型 | 说明 |
---|---|---|
uid | String | 离开房间的远端用户 ID。 |
reason | int | 用户离开房间的原因: • 0: 远端用户调用 leaveRoom 主动退出房间。 • 1: 远端用户因 Token 过期或网络原因等掉线。 • 2: 服务端调用 OpenAPI 将该远端用户踢出房间。 |
public abstract void com.ss.bytertc.rts.engine.handler.IRTSRoomEventHandler.onRoomMessageReceived( String uid, String message)
接收到房间内广播消息的回调。
房间内其他用户调用 sendRoomMessage 发送广播消息时,收到此回调。
传入参数
参数名 | 类型 | 说明 |
---|---|---|
uid | String | 消息发送者 ID |
message | String | 收到的消息内容 |
public abstract void com.ss.bytertc.rts.engine.handler.IRTSRoomEventHandler.onRoomBinaryMessageReceived( String uid, ByteBuffer message)
接收到房间内广播二进制消息的回调。
房间内其他用户调用 sendRoomBinaryMessage 发送广播二进制消息时,收到此回调。
传入参数
参数名 | 类型 | 说明 |
---|---|---|
uid | String | 消息发送者 ID |
message | ByteBuffer | 收到的二进制消息内容 |
public abstract void com.ss.bytertc.rts.engine.handler.IRTSRoomEventHandler.onRoomMessageSendResult( long msgid, int error)
调用 sendRoomMessage 或 sendRoomBinaryMessage 向房间内群发文本或二进制消息后,消息发送方会收到该消息发送结果回调。
传入参数
参数名 | 类型 | 说明 |
---|---|---|
msgid | long | 本条消息的 ID。 |
error | int | 消息发送结果,详见 RoomMessageSendResult |