io.agora.rtc.IRtcConnObserver接口 参考
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 | 该用户的下行网络质量。 |