#include <NGIAgoraRtcConnection.h>
|
virtual | ~IRtcConnectionObserver () |
|
virtual void | onConnected (const TConnectionInfo &connectionInfo, CONNECTION_CHANGED_REASON_TYPE reason)=0 |
|
virtual void | onDisconnected (const TConnectionInfo &connectionInfo, CONNECTION_CHANGED_REASON_TYPE reason)=0 |
|
virtual void | onConnecting (const TConnectionInfo &connectionInfo, CONNECTION_CHANGED_REASON_TYPE reason)=0 |
|
virtual void | onReconnecting (const TConnectionInfo &connectionInfo, CONNECTION_CHANGED_REASON_TYPE reason)=0 |
|
virtual void | onReconnected (const TConnectionInfo &connectionInfo, CONNECTION_CHANGED_REASON_TYPE reason)=0 |
|
virtual void | onConnectionLost (const TConnectionInfo &connectionInfo)=0 |
|
virtual void | onLastmileQuality (const QUALITY_TYPE quality)=0 |
|
virtual void | onLastmileProbeResult (const LastmileProbeResult &result)=0 |
|
virtual void | onTokenPrivilegeWillExpire (const char *token)=0 |
|
virtual void | onTokenPrivilegeDidExpire ()=0 |
|
virtual void | onConnectionFailure (const TConnectionInfo &connectionInfo, CONNECTION_CHANGED_REASON_TYPE reason)=0 |
|
virtual void | onUserJoined (user_id_t userId)=0 |
|
virtual void | onUserLeft (user_id_t userId, USER_OFFLINE_REASON_TYPE reason)=0 |
|
virtual void | onTransportStats (const RtcStats &stats)=0 |
|
virtual void | onChangeRoleSuccess (CLIENT_ROLE_TYPE oldRole, CLIENT_ROLE_TYPE newRole) |
|
virtual void | onChangeRoleFailure () |
|
virtual void | onUserNetworkQuality (user_id_t userId, QUALITY_TYPE txQuality, QUALITY_TYPE rxQuality) |
|
virtual void | onNetworkTypeChanged (NETWORK_TYPE type) |
|
virtual void | onApiCallExecuted (int err, const char *api, const char *result) |
|
virtual void | onChannelMediaRelayStateChanged (int state, int code)=0 |
|
virtual void | onEncryptionError (ENCRYPTION_ERROR_TYPE errorType) |
|
◆ ~IRtcConnectionObserver()
virtual agora::rtc::IRtcConnectionObserver::~IRtcConnectionObserver |
( |
| ) |
|
|
inlinevirtual |
◆ onApiCallExecuted()
virtual void agora::rtc::IRtcConnectionObserver::onApiCallExecuted |
( |
int |
err, |
|
|
const char * |
api, |
|
|
const char * |
result |
|
) |
| |
|
inlinevirtual |
API 方法已执行回调。
- 参数
-
err | 当方法调用失败时 SDK 返回的错误码。如果该方法调用成功,SDK 会返回 0。 |
api | SDK 执行的 API 方法。 |
result | SDK 调用 API 的结果。 |
◆ onChangeRoleFailure()
virtual void agora::rtc::IRtcConnectionObserver::onChangeRoleFailure |
( |
| ) |
|
|
inlinevirtual |
◆ onChangeRoleSuccess()
◆ onChannelMediaRelayStateChanged()
virtual void agora::rtc::IRtcConnectionObserver::onChannelMediaRelayStateChanged |
( |
int |
state, |
|
|
int |
code |
|
) |
| |
|
pure virtual |
跨频道媒体流转发状态发生改变回调。
当跨频道媒体流转发状态发生改变时,SDK 会触发该回调,并报告当前的转发状态以及相关的错误信息。
- 参数
-
RELAY_STATE_IDLE(0)
: SDK 正在初始化。
RELAY_STATE_CONNECTING(1)
: SDK 尝试跨频道。
RELAY_STATE_RUNNING(2)
: 源频道主播成功加入目标频道。
RELAY_STATE_FAILURE(3)
: 发生异常,详见 code 中提示的错误信息。 - 参数
-
RELAY_OK(0)
: 一切正常。
RELAY_ERROR_SERVER_ERROR_RESPONSE(1)
: 服务器回应出错。
RELAY_ERROR_SERVER_NO_RESPONSE(2)
: 服务器无回应。你可以调用 disconnect
方法离开频道。
RELAY_ERROR_NO_RESOURCE_AVAILABLE(3)
: SDK 无法获取服务,可能是因为服务器资源有限导致。
RELAY_ERROR_FAILED_JOIN_SRC(4)
: 服务器加入源频道失败。
RELAY_ERROR_FAILED_JOIN_DEST(5)
: 服务器加入目标频道失败。
RELAY_ERROR_FAILED_PACKET_RECEIVED_FROM_SRC(6)
: 服务器未收到源频道发送的数据。
RELAY_ERROR_FAILED_PACKET_SENT_TO_DEST(7)
: 源频道发送数据失败。
RELAY_ERROR_SERVER_CONNECTION_LOST(8)
: SDK 因网络质量不佳与服务器断开。你可以调用 disconnect
方法离开当前频道。
RELAY_ERROR_INTERNAL_ERROR(9)
: 服务器内部出错。
RELAY_ERROR_SRC_TOKEN_EXPIRED(10)
: 源频道的 Token 已过期。
RELAY_ERROR_DEST_TOKEN_EXPIRED(11)
: 目标频道的 Token 已过期。
◆ onConnected()
SDK 与频道的连接状态变更为 CONNECTION_STATE_CONNECTED(3)
时触发。
- 参数
-
◆ onConnecting()
SDK 与频道的连接状态变更为 CONNECTION_STATE_CONNECTING(2)
时触发。
- 参数
-
◆ onConnectionFailure()
SDK 与频道的连接状态变更为 CONNECTION_STATE_FAILED(5)
时触发。
- 参数
-
◆ onConnectionLost()
virtual void agora::rtc::IRtcConnectionObserver::onConnectionLost |
( |
const TConnectionInfo & |
connectionInfo | ) |
|
|
pure virtual |
◆ onDisconnected()
SDK 与频道的连接状态变更为 CONNECTION_STATE_DISCONNECTED(1)
时触发。
- 参数
-
◆ onEncryptionError()
◆ onLastmileProbeResult()
virtual void agora::rtc::IRtcConnectionObserver::onLastmileProbeResult |
( |
const LastmileProbeResult & |
result | ) |
|
|
pure virtual |
◆ onLastmileQuality()
virtual void agora::rtc::IRtcConnectionObserver::onLastmileQuality |
( |
const QUALITY_TYPE |
quality | ) |
|
|
pure virtual |
◆ onNetworkTypeChanged()
virtual void agora::rtc::IRtcConnectionObserver::onNetworkTypeChanged |
( |
NETWORK_TYPE |
type | ) |
|
|
inlinevirtual |
本地网络类型发生改变回调。
本地网络连接类型发生改变时,SDK 会触发该回调,并在回调中明确当前的网络连接类型。 你可以通过该回调获取正在使用的网络类型;当连接中断时,该回调能辨别引起中断的原因是网络切换还是网络条件不好。
- 参数
-
◆ onReconnected()
◆ onReconnecting()
SDK 与频道的连接状态变更为 CONNECTION_STATE_RECONNECTING(4)
时触发。
- 参数
-
◆ onTokenPrivilegeDidExpire()
virtual void agora::rtc::IRtcConnectionObserver::onTokenPrivilegeDidExpire |
( |
| ) |
|
|
pure virtual |
Token 已过期回调。
在通话过程中如果 Token 已失效,SDK 会触发该回调,提醒 app 更新 Token。
当收到该回调时,你需要重新在服务端生成新的 Token,然后调用 connect
重新连接频道。
◆ onTokenPrivilegeWillExpire()
virtual void agora::rtc::IRtcConnectionObserver::onTokenPrivilegeWillExpire |
( |
const char * |
token | ) |
|
|
pure virtual |
Token 服务将在 30s 内过期回调。
在通话过程中如果 Token 即将失效,SDK 会提前 30 秒触发该回调,提醒 app 更新 Token。
当收到该回调时,你需要重新在服务端生成新的 Token,然后调用 renewToken 将新生成的 Token 传给 SDK。
- 参数
-
◆ onTransportStats()
virtual void agora::rtc::IRtcConnectionObserver::onTransportStats |
( |
const RtcStats & |
stats | ) |
|
|
pure virtual |
报告连接的传输统计信息。
当连接状态为 CONNECTION_STATE_CONNECTED
时,SDK 每两秒触发一次回调。
- 参数
-
◆ onUserJoined()
virtual void agora::rtc::IRtcConnectionObserver::onUserJoined |
( |
user_id_t |
userId | ) |
|
|
pure virtual |
远端用户加入频道时触发。
你可以通过该回调获取远端用户的 ID。
- 参数
-
◆ onUserLeft()
远端用户离开频道时触发。
你可以通过 reason
参数获取用户离开频道的原因。
- 参数
-
◆ onUserNetworkQuality()
通话中每个用户的网络上下行 last mile 质量报告回调。
该回调描述每个用户在通话中的 last mile 网络状态,其中 last mile 是指设备到声网边缘服务器的网络状态。
该回调每 2 秒触发一次。如果远端有多个用户,该回调每 2 秒会被触发多次。
- 参数
-
userId | 用户 ID。表示该回调报告的是持有该 ID 的用户的网络质量。 |
txQuality | 该用户的上行网络质量,基于发送码率、上行丢包率、平均往返时延和网络抖动计算。该值代表当前的上行网络质量,帮助判断是否可以支持当前设置的视频编码属性。 假设上行码率是 1000 Kbps,那么支持直播场景下 640 × 480 的分辨率、15 fps 的帧率没有问题,但是支持 1280 × 720 的分辨率就会有困难。详见 QUALITY_TYPE 。 |
rxQuality | 该用户的下行网络质量,基于下行网络的丢包率、平均往返延时和网络抖动计算。详见 QUALITY_TYPE 。 |
该类的文档由以下文件生成: