- 文档首页
实时音视频
实时音视频
开发指南
通话前网络检测
Web 端通话前网络质量检测
Web 端通话前网络质量检测
为提供更好的音视频通话体验,你可以在用户正式通话前进行网络质量检测,并根据检测质量的判定结果采取相应的措施。例如,降低码率,或者通过 UI 提醒用户切换到更稳定的网络环境。
前提条件
你已经实现了基础音视频通话功能。
功能实现
- 调用两次 createEngine 创建两个 Engine 实例。
- uplinkClient:用于检测发送网络通道质量
- downlinkClient:用于检测接收网络通道质量
const uplinkClient = VERTC.createEngine(appId);
const downlinkClient = VERTC.createEngine(appId);
- 在 uplinkClient 实例中调用 startVideoCapture 和 startAudioCapture 采集音视频流。
await uplinkClient.startAudioCapture();
await uplinkClient.startVideoCapture();
- 分别调用 joinRoom ,使用不同的 userId 和 token 进入同一个测试房间。
- uplinkClient:将自动发布设置为 true
- downlinkClient:将自动订阅音频/视频设置为 true
uplinkClient.joinRoom(token1, roomId, { userId: userId1 }, {
isAutoSubscribeAudio: false,
isAutoSubscribeVideo: false
downlinkClient.joinRoom(token2, roomId, { userId: userId2 }, {
isAutoSubscribeAudio: true,
isAutoSubscribeVideo: true
- 自 v4.44 起,通过 onNetworkQuality 获取上、下行网络通道质量数据。
uplinkClient.on('onNetworkQuality', (uplinkNetworkQuality) => {
console.log('onNetworkQuality: ', uplinkNetworkQuality);
downlinkClient.on('onNetworkQuality', (_, downlinkNetworkQuality) => {
console.log('onNetworkQuality: ', downlinkNetworkQuality);
- 在 v4.43 及之前的版本中,你需要通过 onLocalStreamStats 和 onRemoteStreamStats 获取上、下行网络通道质量数据,并将得到的质量数据放在你的 QoE 模型中进行计算,最终决策出网络质量。下表给出了一个简易的网络质量判断标准。
uplinkClient.on('onLocalStreamStats', stats => {
console.log('onLocalStreamStats: ', stats);
downlinkClient.on('onRemoteStreamStats', stats => {
console.log('onRemoteStreamStats: ', stats);
API 参考
最近更新时间:2026.08.04 14:11:04