io.agora.rtc.IRtcConnObserver接口 参考
- Java
更新时间不可用
IRtcConnObserver 接口。
成员函数说明
onChangeRoleFailure()
void io.agora.rtc.IRtcConnObserver.onChangeRoleFailure(AgoraRtcConn agora_rtc_conn)本地用户角色切换失败时触发。
| 参数名 | 描述 |
|---|---|
agora_rtc_conn | 一个 AgoraRtcConn 对象。 |
onChangeRoleSuccess()
void io.agora.rtc.IRtcConnObserver.onChangeRoleSuccess(AgoraRtcConn agora_rtc_conn, int old_role, int new_role)本地用户角色变更时触发。
| 参数名 | 描述 |
|---|---|
agora_rtc_conn | 一个 AgoraRtcConn 对象。 |
old_role | 本地用户变更前的角色:
|
new_role | 本地用户变更后的角色:
|
onConnected()
void io.agora.rtc.IRtcConnObserver.onConnected(AgoraRtcConn agora_rtc_conn, RtcConnInfo conn_info, int reason)SDK 与频道的连接状态变更为 CONNECTION_STATE_CONNECTED(3) 时触发。
| 参数名 | 描述 |
|---|---|
agora_rtc_conn | 一个 AgoraRtcConn 对象。 |
conn_info | 连接信息。 |
reason | 连接状态变更原因:
|
onConnecting()
void io.agora.rtc.IRtcConnObserver.onConnecting(AgoraRtcConn agora_rtc_conn, RtcConnInfo conn_info, int reason)SDK 与频道的连接状态变更为 CONNECTION_STATE_CONNECTING(2) 时触发。
| 参数名 | 描述 |
|---|---|
agora_rtc_conn | 一个 AgoraRtcConn 对象。 |
conn_info | 连接信息。 |
reason | 连接状态变更原因。 |
onConnectionFailure()
void io.agora.rtc.IRtcConnObserver.onConnectionFailure(AgoraRtcConn agora_rtc_conn, RtcConnInfo conn_info, int reason)SDK 与频道的连接状态变更为 CONNECTION_STATE_FAILED(5) 时触发。
| 参数名 | 描述 |
|---|---|
agora_rtc_conn | 一个 AgoraRtcConn 对象。 |
conn_info | 连接信息。 |
reason | 连接状态变更原因。 |
onConnectionLost()
void io.agora.rtc.IRtcConnObserver.onConnectionLost(AgoraRtcConn agora_rtc_conn, RtcConnInfo conn_info)SDK 失去与频道的连接时触发。
| 参数名 | 描述 |
|---|---|
agora_rtc_conn | 一个 AgoraRtcConn 对象。 |
conn_info | 连接信息。 |
onDisconnected()
void io.agora.rtc.IRtcConnObserver.onDisconnected(AgoraRtcConn agora_rtc_conn, RtcConnInfo conn_info, int reason)SDK 与频道的连接状态变更为 CONNECTION_STATE_DISCONNECTED(1) 时触发。
| 参数名 | 描述 |
|---|---|
agora_rtc_conn | 一个 AgoraRtcConn 对象。 |
conn_info | 连接信息。 |
reason | 连接状态变更原因。 |
onEncryptionError()
void io.agora.rtc.IRtcConnObserver.onEncryptionError(AgoraRtcConn agora_rtc_conn, int error_type)加密出错回调。
| 参数名 | 描述 |
|---|---|
agora_rtc_conn | 一个 AgoraRtcConn 对象。 |
error_type | 加密错误类型。 |
onError()
void io.agora.rtc.IRtcConnObserver.onError(AgoraRtcConn agora_rtc_conn, int error, String msg)发生错误回调。
该回调方法表示 SDK 运行时出现了网络或媒体相关的错误。通常情况下,SDK 上报的错误意味着 SDK 无法自动恢复,需要 App 干预或提示用户。
| 参数名 | 描述 |
|---|---|
agora_rtc_conn | 一个 AgoraRtcConn 对象。 |
error | 错误码。 |
msg | 错误描述。 |
onLastmileProbeResult()
void io.agora.rtc.IRtcConnObserver.onLastmileProbeResult(AgoraRtcConn agora_rtc_conn, LastmileProbeResult result)通话前网络上下行 Last mile 质量探测报告回调。
调用 startLastmileProbeTest 方法 30 秒之后触发该回调。
| 参数名 | 描述 |
|---|---|
agora_rtc_conn | 一个 AgoraRtcConn 对象。 |
result | 上下行 Last mile 质量探测结果: LastmileProbeResult。 |
onLastmileQuality()
void io.agora.rtc.IRtcConnObserver.onLastmileQuality(AgoraRtcConn agora_rtc_conn, int quality)报告 last-mile 网络质量。
SDK 在调用 startLastmileProbeTest 两秒后触发该回调。
| 参数名 | 描述 |
|---|---|
agora_rtc_conn | 一个 AgoraRtcConn 对象。 |
quality | Last-mile 网络质量。
|
onNetworkTypeChanged()
void io.agora.rtc.IRtcConnObserver.onNetworkTypeChanged(AgoraRtcConn agora_rtc_conn, int type)本地网络类型发生改变回调。
| 参数名 | 描述 |
|---|---|
agora_rtc_conn | 一个 AgoraRtcConn 对象。 |
type | 当前网络连接类型:
|
onReconnecting()
void io.agora.rtc.IRtcConnObserver.onReconnecting(AgoraRtcConn agora_rtc_conn, RtcConnInfo conn_info, int reason)SDK 与频道的连接状态变更为 CONNECTION_STATE_RECONNECTING(4) 时触发。
| 参数名 | 描述 |
|---|---|
agora_rtc_conn | 一个 AgoraRtcConn 对象。 |
conn_info | 连接信息。 |
reason | 连接状态变更原因。 |
onStreamMessageError()
void io.agora.rtc.IRtcConnObserver.onStreamMessageError(AgoraRtcConn agora_rtc_conn, String user_id, int stream_id, int code, int missed, int cached)接收数据流消息发生错误的回调。该回调表示本地用户未收到远端用户调用 sendStreamMessage 方法发送的流消息。
| 参数名 | 描述 |
|---|---|
agora_rtc_conn | RTC 连接对象。 |
user_id | 发送消息的用户 ID。 |
stream_id | 接收到的消息的 Stream ID。 |
code | 发生错误的错误码。 |
missed | 丢失的消息数量。 |
cached | 数据流中断时,后面缓存的消息数量。 |
onTokenPrivilegeDidExpire()
void io.agora.rtc.IRtcConnObserver.onTokenPrivilegeDidExpire(AgoraRtcConn agora_rtc_conn)Token 已过期时触发。 当收到该回调时,你需要重新在服务端生成新的 Token,然后重新连接频道。
| 参数名 | 描述 |
|---|---|
agora_rtc_conn | 一个 AgoraRtcConn 对象。 |
onTokenPrivilegeWillExpire()
void io.agora.rtc.IRtcConnObserver.onTokenPrivilegeWillExpire(AgoraRtcConn agora_rtc_conn, String token)Token 将在 30s 内过期时触发。
在通话过程中如果 Token 即将失效,SDK 会提前 30 秒触发该回调,提醒 app 更新 Token。 当收到该回调时,你需要重新在服务端生成新的 Token,然后调用 renewToken 将新生成的 Token 传给 SDK。
| 参数名 | 描述 |
|---|---|
agora_rtc_conn | 一个 AgoraRtcConn 对象。 |
token | 将在30 秒内过期的 Token。 |
onTransportStats()
void io.agora.rtc.IRtcConnObserver.onTransportStats(AgoraRtcConn agora_rtc_conn, RtcStats stats)报告连接的传输统计信息。
当连接状态为 CONNECTION_STATE_CONNECTED(3) 时,SDK 每两秒触发一次回调。
| 参数名 | 描述 |
|---|---|
agora_rtc_conn | 一个 AgoraRtcConn 对象。 |
stats | 连接统计信息。 |
onUploadLogResult()
void io.agora.rtc.IRtcConnObserver.onUploadLogResult(AgoraRtcConn agora_rtc_conn, String request_id, int success, int reason)onUserJoined()
void io.agora.rtc.IRtcConnObserver.onUserJoined(AgoraRtcConn agora_rtc_conn, String user_id)远端用户加入频道时触发。
你可以在该回调中获取远端用户 ID。
| 参数名 | 描述 |
|---|---|
agora_rtc_conn | 一个 AgoraRtcConn 对象。 |
user_id | 加入频道的远端用户的 ID。 |
onUserLeft()
void io.agora.rtc.IRtcConnObserver.onUserLeft(AgoraRtcConn agora_rtc_conn, String user_id, int reason)远端用户离开频道时触发。
你可以通过 reason 参数获取该用户离开频道的原因。
| 参数名 | 描述 |
|---|---|
agora_rtc_conn | 一个 AgoraRtcConn 对象。 |
user_id | 离开频道的远端用户 ID。 |
reason | 离开频道原因。 |
onUserNetworkQuality()
void io.agora.rtc.IRtcConnObserver.onUserNetworkQuality(AgoraRtcConn agora_rtc_conn, String user_id, int tx_quality, int rx_quality)通话中每个用户的网络上下行 last mile 质量报告回调。
该回调每 2 秒触发一次,报告频道内每个用户(包括本地用户)的上下行网络状态。
| 参数名 | 描述 |
|---|---|
agora_rtc_conn | 一个 AgoraRtcConn 对象。 |
user_id | 用户 ID。如该参数为空,表示该回调报告的是本地用户的网络质量。 |
tx_quality | 该用户的上行网络质量。 |
rx_quality | 该用户的下行网络质量。 |
该接口的文档由以下文件生成:
- IRtcConnObserver.java