更新时间:2023-11-27 GMT+08:00

通话质量监测

功能描述

加入房间后,SDK上报通话质量相关的回调,上报当前通话的网络质量、本地和远端的音视频统计信息。

接口调用流程

通话质量上报

network-quality网络上下行质量报告事件,用户加入房间后,在网络质量变化的时候会触发一次该事件,报告用户的本地网络上下行质量情况。

示例代码如下:
this.client.on('network-quality', (networkQualityInfo) => {
console.info(`network-quality:
uplinkNetworkQuality=${networkQualityInfo.uplinkNetworkQuality}, 
downlinkNetworkQuality = ${networkQualityInfo.downlinkNetworkQuality}`)
})

获取本地音频流统计信息

getLocalAudioStats获取本地设备发送音频流的统计信息。您可以查看当前通话中发送音频的字节数和包数等。

示例代码如下:

this.client.getLocalAudioStats().then((stats) => {
 console.info(`getLocalAudioStats: ${stats}`)
})

获取远端音频流统计信息

getRemoteAudioStats获取当前通话中远端用户音频流的统计信息。您可以查看远端用户发送的音频流字节数、收包数、丢包率等信息。

示例代码如下:

this.client.getRemoteAudioStats().then((stats) => {
 console.info(`getRemoteAudioStats: ${stats}`)
})

获取本地视频流统计信息

getLocalVideoStats获取当前本地视频流统计信息,您可以查看本地已发送的字节数、包数、编码帧数,帧数、视频宽度、视频高度等信息。

示例代码如下:

this.client.getLocalVideoStats().then((stats) => {
 console.info(`getLocalVideoStats: ${stats}`)
})

获取远端视频流统计信息

getRemoteVideoStats获取当前远端视频流统计信息,您可以查看远端用户发送的视频流字节数、包数、编码帧数,帧数、视频宽度、视频高度等信息。

示例代码如下:

this.client.getRemoteVideoStats().then((stats) => {
 console.info(`getRemoteVideoStats: ${stats}`)
})

获取客户端连接状态

getConnectionState获取客户端的连接状态,分别为:

  • CONNECTING:连接建立中。
  • CONNECTED:连接已建立。
  • RECONNECTING:重新连接中。
  • DISCONNECTED:连接已断开。

示例代码如下:

console.info(`getConnectingState: ${this.client.getConnectionState()}`)

获取当前网络传输状况统计数据

getTransportStats获取当前网络传输状况统计数据,包括已发送字节数、已接收字节数、当前出流码率、当前入流码率等信息,该方法需要publish后调用。

示例代码如下:

this.client.getTransportStats().then(
 (rtt) => {
 console.info('###getTransportStats: bytesSent ' + rtt.bytesSent)
 console.info('###getTransportStats: bytesReceived ' + rtt.bytesReceived)
 console.info('###getTransportStats: sendBitrate ' + rtt.sendBitrate)
 console.info('###getTransportStats: recvBitrate ' + rtt.recvBitrate)
 console.info(`getTransportStats: ${rtt.rtt}`)
 },
 (error) => {
 console.info(`getTransportStats: ${error}`)
})