IRTSEventHandler
public abstract class com.ss.bytertc.engine.handler.IRTSEventHandler
java

RTS 引擎事件回调 handler

成员函数
返回名称
voidonSysStats
voidonNetworkTypeChanged
voidonCreateRoomStateChanged
voidonConnectionStateChanged
voidonLoginResult
voidonLogout
voidonServerParamsSetResult
voidonGetPeerOnlineStatus
voidonMessageReceived
voidonBinaryMessageReceived
voidonMessageSendResult
voidonServerMessageSendResult
函数说明

onSysStats
public void com.ss.bytertc.engine.handler.IRTSEventHandler.onSysStats(
    SysStats stats)
java

每2秒发生回调,通知当前cpu,内存使用的信息。

传入参数

参数名类型说明
statsSysStatscpu,内存信息。详见 SysStats 数据类型。

onNetworkTypeChanged
public void com.ss.bytertc.engine.handler.IRTSEventHandler.onNetworkTypeChanged(
    int type)
java

SDK 当前网络连接类型改变回调。当 SDK 的当前网络连接类型发生改变时回调该事件。

传入参数

参数名类型说明
typeint网络类型。
• -1: 网络连接类型未知。
• 0: 网络连接已断开。
• 1: LAN
• 2: Wi-Fi,包含热点
• 3: 2G 移动网络
• 4: 3G 移动网络
• 5: 4G 移动网络
• 6: 5G 移动网络

onCreateRoomStateChanged
public void com.ss.bytertc.engine.handler.IRTSEventHandler.onCreateRoomStateChanged(
    String roomId,
    int errorCode)
java

创建房间失败回调。

传入参数

参数名类型说明
roomIdString房间 ID。
errorCodeint创建房间错误码:
• -1007:无效 roomId;
• -1013:相同 roomId 的房间已存在。

onConnectionStateChanged
public void com.ss.bytertc.engine.handler.IRTSEventHandler.onConnectionStateChanged(
    int state,
    int reason)
java

回调 SDK 与信令服务器连接状态相关事件。当 SDK 与信令服务器的网络连接状态改变时回调该事件。

传入参数

参数名类型说明
stateint当前 SDK 与信令服务器连接状态。详细定义参见 ConnectionState
reasonint引起信令服务器连接状态发生改变的原因,目前未启用固定为 -1 。

注意
该回调在信令服务器连接状态发生改变时触发,并告知用户当前的连接状态,和引起改变的原因。

onLoginResult
public void com.ss.bytertc.engine.handler.IRTSEventHandler.onLoginResult(
    String uid,
    int error_code,
    int elapsed)
java

登录结果回调

传入参数

参数名类型说明
uidString登录用户 ID
error_codeint登录结果
详见 LoginErrorCode。
elapsedint从调用 login 接口开始到返回结果所用时长。
单位为 ms。

注意
调用 login 后,会收到此回调。

onLogout
public void com.ss.bytertc.engine.handler.IRTSEventHandler.onLogout()
java

登出结果回调

注意
调用 logout 后,会收到此回调。

onServerParamsSetResult
public void com.ss.bytertc.engine.handler.IRTSEventHandler.onServerParamsSetResult(
    int error)
java

设置应用服务器参数的返回结果

传入参数

参数名类型说明
errorint设置结果
• 返回 200,设置成功
• 返回其他,设置失败

注意
调用 setServerParams 后,会收到此回调。

onGetPeerOnlineStatus
public void com.ss.bytertc.engine.handler.IRTSEventHandler.onGetPeerOnlineStatus(
    String peerUserId,
    int status)
java

查询对端或本端用户登录状态的返回结果

传入参数

参数名类型说明
peerUserIdString需要查询的用户 ID
statusint查询的用户登录状态
详见 UserOnlineStatus.

注意
必须先调用 getPeerOnlineStatus,才能收到此回调。

onMessageReceived
public void com.ss.bytertc.engine.handler.IRTSEventHandler.onMessageReceived(
    String uid,
    String message)
java

收到远端用户调用 sendMessage 发来的文本消息时,会收到此回调

传入参数

参数名类型说明
uidString消息发送者 ID
messageString收到的文本消息内容

onBinaryMessageReceived
public void com.ss.bytertc.engine.handler.IRTSEventHandler.onBinaryMessageReceived(
    String uid,
    ByteBuffer message)
java

收到远端用户调用 sendBinaryMessage 发来的二进制消息时,会收到此回调

传入参数

参数名类型说明
uidString消息发送者 ID
messageByteBuffer收到的二进制消息内容

onMessageSendResult
public void com.ss.bytertc.engine.handler.IRTSEventHandler.onMessageSendResult(
    long msgid,
    int error)
java

给指定的用户发送消息的回调

传入参数

参数名类型说明
msgidlong本条消息的 ID
所有的 P2P 和 P2Server 消息共用一个 ID 序列。
errorint消息发送结果
详见 UserMessageSendResult。

注意
当调用 sendMessage 或 sendBinaryMessage 发送消息后,会收到此回调。

onServerMessageSendResult
public void com.ss.bytertc.engine.handler.IRTSEventHandler.onServerMessageSendResult(
    long msgid,
    int error,
    ByteBuffer message)
java

给应用服务器发送消息的回调

传入参数

参数名类型说明
msgidlong本条消息的 ID
所有的 P2P 和 P2Server 消息共用一个 ID 序列。
errorint消息发送结果,详见 UserMessageSendResult。
messageByteBuffer应用服务器收到 HTTP 请求后,在 ACK 中返回的信息。

注意
当调用 sendServerMessage 或 sendServerBinaryMessage 接口发送消息后,会收到此回调。

IRTSRoomEventHandler
public abstract class com.ss.bytertc.engine.handler.IRTSRoomEventHandler
java

房间事件回调接口

成员函数
返回名称
abstract voidonLeaveRoom
abstract voidonRoomStateChanged
abstract voidonUserJoined
abstract voidonUserLeave
abstract voidonRoomMessageReceived
abstract voidonRoomBinaryMessageReceived
abstract voidonRoomMessageSendResult
函数说明

onLeaveRoom
public abstract void com.ss.bytertc.engine.handler.IRTSRoomEventHandler.onLeaveRoom()
java

离开房间成功回调。

用户调用 leaveRoom 方法后,SDK 会停止房间内消息的收发,并在释放所有相关资源后,通过此回调通知用户离开房间成功。

注意
用户调用 leaveRoom 方法离开房间后,如果立即调用 destroy 销毁房间实例或 destroyRTS 方法销毁 RTS 引擎,则将无法收到此回调事件。

onRoomStateChanged
public abstract void com.ss.bytertc.engine.handler.IRTSRoomEventHandler.onRoomStateChanged(
    String roomId,
    String uid,
    int state,
    String extraInfo)
java

房间状态改变回调,加入房间、离开房间、发生房间相关的警告或错误时会收到此回调。

传入参数

参数名类型说明
roomIdString房间 ID。
uidString用户 ID。
stateint房间状态码。
• 0: 成功。
• !0: 失败,具体原因包括
- -1007:无效 roomId;
- -1013:相同 roomId 的房间已存在;
- -2001:初次进房或者由于网络状况不佳断网重连时,由于服务器错误导致进房失败,SDK 会自动重试进房;
- -2016:已存在相同 roomId 的房间,新创建的房间实例已替换旧房间实例。
extraInfoString额外信息,如 {"elapsed":1187,"join_type":0}。
join_type 表示加入房间的类型,0为首次进房,1为重连进房。
elapsed表示加入房间耗时,即本地用户从调用 joinRoom 到加入房间成功所经历的时间间隔,单位为 ms。

onUserJoined
public abstract void com.ss.bytertc.engine.handler.IRTSRoomEventHandler.onUserJoined(
    String uid,
    int elapsed)
java

远端用户首次进房,或断网后重新连入房间时,房间内其他用户将收到该事件。

传入参数

参数名类型说明
uidString加入房间的用户 ID
elapsedint远端用户调用 joinRoom 加入房间到房间内其他用户收到该事件经历的时间,单位为 ms。

onUserLeave
public abstract void com.ss.bytertc.engine.handler.IRTSRoomEventHandler.onUserLeave(
    String uid,
    int reason)
java

远端用户离开房间时,本地用户会收到此事件

传入参数

参数名类型说明
uidString离开房间的远端用户 ID。
reasonint用户离开房间的原因:
• 0: 远端用户调用 leaveRoom 主动退出房间。
• 1: 远端用户因 Token 过期或网络原因等掉线。
• 2: 服务端调用 OpenAPI 将该远端用户踢出房间。

onRoomMessageReceived
public abstract void com.ss.bytertc.engine.handler.IRTSRoomEventHandler.onRoomMessageReceived(
    String uid,
    String message)
java

接收到房间内广播消息的回调。

房间内其他用户调用 sendRoomMessage 发送广播消息时,收到此回调。

传入参数

参数名类型说明
uidString消息发送者 ID
messageString收到的消息内容

onRoomBinaryMessageReceived
public abstract void com.ss.bytertc.engine.handler.IRTSRoomEventHandler.onRoomBinaryMessageReceived(
    String uid,
    ByteBuffer message)
java

接收到房间内广播二进制消息的回调。

房间内其他用户调用 sendRoomBinaryMessage 发送广播二进制消息时,收到此回调。

传入参数

参数名类型说明
uidString消息发送者 ID
messageByteBuffer收到的二进制消息内容

onRoomMessageSendResult
public abstract void com.ss.bytertc.engine.handler.IRTSRoomEventHandler.onRoomMessageSendResult(
    long msgid,
    int error)
java

调用 sendRoomMessage 或 sendRoomBinaryMessage 向房间内群发文本或二进制消息后,消息发送方会收到该消息发送结果回调。

传入参数

参数名类型说明
msgidlong本条消息的 ID。
errorint消息发送结果,详见 RoomMessageSendResult