我正在使用agora进行视频通话和流媒体服务。我需要检查网络质量和通知用户的慢connection.For这些我写了这些函数检查上行和下行网络quality.this是参考
https://docs.agora.io/en/All/API%20Reference/web/v2.6/interfaces/agorartc.networkqualitystats.html
const rtcClient = this.client;
const checkQualityDrop = (
quality: string,
currentQuality: number,
): { newNetworkQuality: number; qualityDroppedNow: boolean } => {
const newNetworkQuality = Number.parseInt(quality, 10);
const qualityDroppedNow = currentQuality < 4
&& newNetworkQuality >= 4;
return { newNetworkQuality, qualityDroppedNow };
};
rtcClient.on('network-quality', (quality) => {
if (quality.uplinkNetworkQuality) {
const {
newNetworkQuality,
qualityDroppedNow,
} = checkQualityDrop(quality.uplinkNetworkQuality, this.uplinkNetworkQuality);
if (qualityDroppedNow) {
this._log('network-drop', { type: 'uplink', newNetworkQuality });
}
this.uplinkNetworkQuality = newNetworkQuality;
}
if (quality.downlinkNetworkQuality) {
const {
newNetworkQuality,
qualityDroppedNow,
} = checkQualityDrop(quality.downlinkNetworkQuality, this.downlinkNetworkQuality);
if (qualityDroppedNow) {
this._log('network-drop', { type: 'downlink', quality: newNetworkQuality });
}
this.downlinkNetworkQuality = newNetworkQuality;
}
});任何大于4的上行链路和下行链路应该通知用户慢network.But这里它不工作慢network.Anyway我可以重写或改进这些功能吗?
发布于 2021-11-10 20:29:55
当质量下降时,我不确定您的条件是否会计算为真:
const qualityDroppedNow = currentQuality < 4 && newNetworkQuality >= 4;您正在检查以前的质量是否较低,以及新的质量是否得到了改善/恢复。
https://stackoverflow.com/questions/69805624
复制相似问题