Quality | 名称 | 说明 |
0 | Unknown | 未感知到 |
1 | Excellent | 当前网络非常好 |
2 | Good | 当前网络比较好 |
3 | Poor | 当前网络一般 |
4 | Bad | 当前网络较差,可能会出现明显的卡顿和通话延迟 |
5 | VeryBad | 当前网络很差,TRTC 只能勉强保持连接,但无法保证通讯质量 |
6 | Down | 当前网络不满足 TRTC 的最低要求,无法进行正常的音视频通话 |
// 监听 onNetworkQuality 回调并感知当前网络状态的变化if (type == TRTCCloudListener.onNetworkQuality) {if (type == TRTCCloudDef.TRTC_QUALITY_UNKNOWN) {// TODO} else if (type == TRTCCloudDef.TRTC_QUALITY_Excellent) {// TODO} else if (type == TRTCCloudDef.TRTC_QUALITY_Good) {// TODO} else if (type == TRTCCloudDef.TRTC_QUALITY_Poor) {// TODO} else if (type == TRTCCloudDef.TRTC_QUALITY_Bad) {// TODO} else if (type == TRTCCloudDef.TRTC_QUALITY_Vbad) {// TODO} else if (type == TRTCCloudDef.TRTC_QUALITY_Down) {// TODO}// Get the network quality of remote usersfor (var info in param['remoteQuality']) {// TODO}}
字段 | 含义 | 含义说明 |
success | 是否成功 | 本次测试是否成功 |
errMsg | 错误信息 | 带宽测试的详细错误信息 |
ip | 服务器 IP | 测速服务器的 IP |
quality | 网络质量评分 | 通过评估算法测算出的网络质量,loss 越低,rtt 越小,得分也就越高 |
upLostRate | 上行丢包率 | 范围是[0 - 1.0],例如0.3代表每向服务器发送10个数据包,可能有3个会在中途丢失 |
downLostRate | 下行丢包率 | 范围是[0 - 1.0],例如0.2代表从服务器每收取10个数据包,可能有2个会在中途丢失 |
rtt | 网络延时 | 代表 SDK 跟服务器一来一回之间所消耗的时间,这个值越小越好,正常数值在10ms - 100ms 之间 |
availableUpBandwidth | 上行带宽 | 预测的上行带宽,单位为 kbps, -1表示无效值 |
availableDownBandwidth | 下行带宽 | 预测的下行带宽,单位为 kbps, -1表示无效值 |
startSpeedTest
(Flutter中为 startSpeedTestWithParams
接口)功能可以启动测速功能,测速的结果会通过回调函数返回。// 启动网络测速的示例代码, 需要 sdkAppId 和 UserSig,(获取方式参考基本功能)// 这里以登录后开始测试为例_onLogin(String userId, String userSig) async {TRTCSpeedTestParams params = TRTCSpeedTestParams(// sdkAppID 为控制台中获取的实际应用的 AppIDsdkAppId: sdkAppId,userId: userId,userSig: userSig,scene: TRTCSpeedTestScene.delayBandwidthTesting,// 预期的上行带宽(kbps,取值范围: 10 ~ 5000,为 0 时不测试)expectedDownBandwidth: 500,// 预期的下行带宽(kbps,取值范围: 10 ~ 5000,为 0 时不测试)expectedUpBandwidth: 500,);int? returnValue = await trtcCloud.startSpeedTestWithParams(params);trtcCloud.registerListener(speedTestListener);}speedTestListener(type, param) {if (type == TRTCCloudListener.onSpeedTestResult) {var result = param['result']; bool success = result['success']; String errMsg = result['errMsg']; String ip = result['ip']; int quality = result['quality']; double upLostRate = result['upLostRate']; double downLostRate = result['downLostRate']; int rtt = result['rtt']; int availableDownBandwidth = result['availableDownBandwidth']; int availableUpBandwidth = result['availableUpBandwidth']; int upJitter = result['upJitter']; int downJitter = result['downJitter'];}}
本页内容是否解决了您的问题?