Agora RTC Objective-C API Reference Refactor

Properties
AgoraRtcRemoteAudioStats Class Reference

Inherits <NSObject>.

## Properties
NSUInteger | uid
NSUInteger | quality
NSUInteger | networkTransportDelay
NSUInteger | jitterBufferDelay
NSUInteger | audioLossRate
NSUInteger | numChannels
NSUInteger | receivedSampleRate
NSUInteger | receivedBitrate
NSUInteger | totalFrozenTime
NSUInteger | totalActiveTime
NSInteger | publishDuration
NSUInteger | frozenRate
NSUInteger | mosValue
NSUInteger | frozenRateByCustomPlcCount
NSUInteger | plcCount
AgoraExperienceQuality | qoeQuality
AgoraExperiencePoorReason | qualityChangedReason
NSUInteger | rxAudioBytes
NSInteger | e2eDelay

## Detailed Description

The statistics of the remote audio.

## Property Documentation

## ◆ uid

- (NSUInteger) uid
| read write nonatomic assign

ID of the user sending the audio stream.

## ◆ quality

- (NSUInteger) quality
| read write nonatomic assign

The receiving audio quality.

- 0: The quality is unknown.
- 1: The quality is excellent.
- 2: The quality is quite good, but the bitrate may be slightly lower than excellent.
- 3: Users can feel the communication slightly impaired.
- 4: Users can communicate not very smoothly.
- 5: The quality is so bad that users can barely communicate.
- 6: The network is disconnected and users cannot communicate at all.

## ◆ networkTransportDelay

- (NSUInteger) networkTransportDelay
| read write nonatomic assign

The network delay (ms) from the sender to the receiver.

## ◆ jitterBufferDelay

- (NSUInteger) jitterBufferDelay
| read write nonatomic assign

The jitter buffer delay (ms) at the receiver.

## ◆ audioLossRate

- (NSUInteger) audioLossRate
| read write nonatomic assign

The packet loss rate in the reported interval.

## ◆ numChannels

- (NSUInteger) numChannels
| read write nonatomic assign

The number of audio channels.

## ◆ receivedSampleRate

- (NSUInteger) receivedSampleRate
| read write nonatomic assign

The sample rate (Hz) of the received audio stream, represented by an instantaneous value.

## ◆ receivedBitrate

- (NSUInteger) receivedBitrate
| read write nonatomic assign

The bitrate (Kbps) of the received audio stream, represented by an instantaneous value.

## ◆ totalFrozenTime

- (NSUInteger) totalFrozenTime
| read write nonatomic assign

The total freeze time (ms) of the remote audio stream after the remote user joins the channel. In a session, audio freeze occurs when the audio frame loss rate reaches 4% within two seconds. Agora uses 2 seconds as an audio piece unit to calculate the audio freeze time. The total audio freeze time = The audio freeze number × 2 seconds

## ◆ totalActiveTime

- (NSUInteger) totalActiveTime
| read write nonatomic assign

The total time (ms) when the remote user neither stops sending the audio stream nor disables the audio module after joining the channel.

## ◆ publishDuration

- (NSInteger) publishDuration
| read write nonatomic assign

The total publish duration (ms) of the remote audio stream.

## ◆ frozenRate

- (NSUInteger) frozenRate
| read write nonatomic assign

The total audio freeze time as a percentage (%) of the total time when the audio is available.

## ◆ mosValue

- (NSUInteger) mosValue
| read write nonatomic assign

The quality of the remote audio stream as determined by the Agora real-time audio MOS (Mean Opinion Score) measurement method in the reported interval. The return value ranges from 0 to 500. Dividing the return value by 100 gets the MOS score, which ranges from 0 to 5. The higher the score, the better the audio quality.

The subjective perception of audio quality corresponding to the Agora real-time audio MOS scores is as follows:

MOS score | Perception of audio quality
--- | ---
Greater than 4 | Excellent. The audio sounds clear and smooth.
From 3.5 to 4 | Good. The audio has some perceptible impairment, but still sounds clear.
From 3 to 3.5 | Fair. The audio freezes occasionally and requires attentive listening.
From 2.5 to 3 | Poor. The audio sounds choppy and requires considerable effort to understand.
From 2 to 2.5 | Bad. The audio has occasional noise. Consecutive audio dropouts occur, resulting in some information loss. The users can communicate only with difficulty.
Less than 2 | Very bad. The audio has persistent noise. Consecutive audio dropouts are frequent, resulting in severe information loss. Communication is nearly impossible.

## ◆ frozenRateByCustomPlcCount

- (NSUInteger) frozenRateByCustomPlcCount
| read write nonatomic assign

If the packet loss concealment (PLC) occurs for N consecutive times, freeze is considered as PLC occurring for M consecutive times. freeze cnt = (n_plc - n) / m

## ◆ plcCount

- (NSUInteger) plcCount
| read write nonatomic assign

The number of audio packet loss concealment

## ◆ qoeQuality

- (AgoraExperienceQuality) qoeQuality
| read write nonatomic assign

Quality of experience (QoE) of the local user when receiving a remote audio stream.

## ◆ qualityChangedReason

- (AgoraExperiencePoorReason) qualityChangedReason
| read write nonatomic assign

The reason for poor QoE of the local user when receiving a remote audio stream. See #EXPERIENCE_POOR_REASON.

## ◆ rxAudioBytes

- (NSUInteger) rxAudioBytes
| read write nonatomic assign

Total number of audio bytes received (bytes) before network countermeasures, represented by an aggregate value.

## ◆ e2eDelay

- (NSInteger) e2eDelay
| read write nonatomic assign

The end-to-end delay (ms) from the sender to the receiver.