
# 通话质量监测
#### 功能描述
加入房间后，SDK上报通话质量相关的回调，上报当前通话的网络质量、本地和远端的音视频统计信息。
#### 接口调用流程
![](https://support.huaweicloud.com/bestpractice-rtc/zh-cn_image_0000001181924686.png)
#### 通话质量上报
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}`)
})
```
#### API参考
[network-quality](https://support.huaweicloud.com/csdk-rtc/rtc_05_0139.html#section17)
[getLocalAudioStats](https://support.huaweicloud.com/csdk-rtc/rtc_05_0138.html#section12)
[getRemoteAudioStats](https://support.huaweicloud.com/csdk-rtc/rtc_05_0138.html#section14)
[getLocalVideoStats](https://support.huaweicloud.com/csdk-rtc/rtc_05_0138.html#section13)
[getRemoteVideoStats](https://support.huaweicloud.com/csdk-rtc/rtc_05_0138.html#section15)
[getConnectionState](https://support.huaweicloud.com/csdk-rtc/rtc_05_0138.html#section10)
[getTransportStats](https://support.huaweicloud.com/csdk-rtc/rtc_05_0138.html#section11)
