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 | 连接状态变更原因。 |
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 | 该用户的下行网络质量。 |