网络探测
SDK 从 5.2.5 版本开始支持该功能。
startNetworkProbe 方法支持用户在加入房间前进行网络质量探测,通过相应的回调将当前网络往返时延、上下行丢包率、网络质量数据返回给上层应用。
提示
请在加入房间前完成网络质量探测。SDK 不支持在音视频通话过程中进行网络质量探测。
设置网络探测事件回调监听
设置网络探测开始事件回调
方法
Dart
RCRTCEngine.onNetworkProbeStarted
返回值
| 参数 | 描述 |
|---|---|
| code | 接口结果码 |
| errMsg | 失败原因 |
示例代码
Dart
engine.onNetworkProbeStarted = (int code, String? errMsg) {
if (code == 0) {
// 开启网络探测成功
print('开启网络探测成功');
} else {
// 开启网络探测失败
print('开启网络探测失败: $errMsg');
}
};
设置网络探测停止事件回调
方法
Dart
RCRTCEngine.onNetworkProbeStopped
返回值
| 参数 | 描述 |
|---|---|
| code | 接口结果码 |
| errMsg | 失败原因 |
示例代码
Dart
engine.onNetworkProbeStopped = (int code, String? errMsg) {
if (code == 0) {
// 停止网络探测成功
print('停止网络探测成功');
} else {
// 停止网络探测失败
print('停止网络探测失败: $errMsg');
}
};
设置网络探测完成事件回调
方法
Dart
RCRTCEngine.onNetworkProbeFinished
返回值
| 参数 | 描述 |
|---|---|
| code | 接口结果码,0表示正常结束,非0表示探测中断 |
| errMsg | 失败原因 |
示例代码
Dart
engine.onNetworkProbeFinished = (int code, String? errMsg) {
if (code == 0) {
// 网络探测正常完成
print('网络探测正常完成');
} else {
// 网络探测中断
print('网络探测中断: $errMsg');
}
};
设置网络探测上行统计事件回调
方法
Dart
RCRTCEngine.onNetworkProbeUpLinkStats
返回值
| 参数 | 描述 |
|---|---|
| stats | RCRTCNetworkProbeStats |
示例代码
Dart
engine.onNetworkProbeUpLinkStats = (RCRTCNetworkProbeStats stats) {
// 汇报网络探测上行数据
print('上行带宽: ${stats.bandwidth} kbps');
print('上行丢包率: ${stats.packetLossRate}%');
print('上行网络抖动: ${stats.jitter} ms');
print('上行往返延时: ${stats.rtt} ms');
};