网络质量是影响参会体验的关键因素之一。通过SDK提供的网络质量检测功能,开发者可以:
通过 onNetworkIndicatorLevelChanged 回调获取网络质量等级:
等级 | 质量 | 说明 |
1 | 差 | 网络质量较差 |
2 | 中 | 网络质量一般 |
3 | 良 | 网络质量良好 |
4 | 优 | 网络质量优秀 |
通过 onVideoStatusChanged 回调获取视频质量状态:
状态码 | 说明 |
0 | 正常 |
1 | 本地网络不稳定 |
2 | 系统忙,视频质量降低 |
3 | 对方网络不稳定 |
4 | 网络不稳定,请稍候 |
5 | WiFi信号不稳定 |
/**
* 网络质量变化回调
* @param level 网络质量等级(1-4)
*/
onNetworkIndicatorLevelChanged(level: number): void {
console.log("=====onNetworkIndicatorLevelChanged level: ", level);
// 通过事件总线发送网络质量变化事件
XYEmitter.getInstance().emmit<number>(
XYEventKeys.onNetworkIndicatorLevelChangedKey,
level
);
}
/**
* 处理网络质量变化
* @param level 网络质量等级
*/
handleOnNetworkIndicatorLevelChanged(level: number) {
Logger.info("OnNetworkIndicatorLevelChanged level: " + level);
// 更新UI模型中的网络质量等级
this.xyCallTooBarModel.localNetWorkLevel = level;
}
/**
* 根据网络质量等级获取对应的网络图标
* @returns 网络图标资源
*/
getNetWorkImage() {
let image = "icon_xinhao_4"; // 默认使用最高等级图标
// 根据网络质量等级选择对应图标
switch (this.xyCallTooBarModel.localNetWorkLevel) {
case 1:
image = "icon_xinhao_1_1"; // 差
break;
case 2:
image = "icon_xinhao_2_1"; // 中
break;
case 3:
image = "icon_xinhao_3_1"; // 良
break;
}
return XYResourceManager.getImage(image);
}