RemoteAudioStats
Audio statistics of a remote user.
public class RemoteAudioStats
{
public RemoteAudioStats()
{
uid = 0;
quality = 0;
networkTransportDelay = 0;
jitterBufferDelay = 0;
audioLossRate = 0;
numChannels = 0;
receivedSampleRate = 0;
receivedBitrate = 0;
totalFrozenTime = 0;
frozenRate = 0;
mosValue = 0;
totalActiveTime = 0;
publishDuration = 0;
qoeQuality = 0;
qualityChangedReason = 0;
public int e2eDelay;
}
public RemoteAudioStats(uint uid, int quality, int networkTransportDelay, int jitterBufferDelay,
int audioLossRate, int numChannels, int receivedSampleRate, int receivedBitrate, int totalFrozenTime,
int frozenRate, int mosValue, int totalActiveTime, int publishDuration, int qoeQuality, int qualityChangedReason)
{
this.uid = uid;
this.quality = quality;
this.networkTransportDelay = networkTransportDelay;
this.jitterBufferDelay = jitterBufferDelay;
this.audioLossRate = audioLossRate;
this.numChannels = numChannels;
this.receivedSampleRate = receivedSampleRate;
this.receivedBitrate = receivedBitrate;
this.totalFrozenTime = totalFrozenTime;
this.frozenRate = frozenRate;
this.mosValue = mosValue;
this.totalActiveTime = totalActiveTime;
this.publishDuration = publishDuration;
this.qoeQuality = qoeQuality;
this.qualityChangedReason = qualityChangedReason;
}
public uint uid { set; get; }
public int quality { set; get; }
public int networkTransportDelay { set; get; }
public int jitterBufferDelay { set; get; }
public int audioLossRate { set; get; }
public int numChannels { set; get; }
public int receivedSampleRate { set; get; }
public int receivedBitrate { set; get; }
public int totalFrozenTime { set; get; }
public int frozenRate { set; get; }
public int mosValue { set; get; }
public int totalActiveTime { set; get; }
public int publishDuration { set; get; }
public int qoeQuality { set; get; }
public int qualityChangedReason { set; get; }
};
Properties
- uid
- User ID of the remote user.
- quality
- Audio stream quality sent by the remote user. See QUALITY_TYPE.
- networkTransportDelay
- Network delay from the audio sender to the receiver (ms).
- jitterBufferDelay
- Network delay from the receiver to the jitter buffer (ms).
Note: This parameter is not valid when the receiver is an audience member and ClientRoleOptions's
audienceLatencyLevelis 1. - audioLossRate
- Audio frame loss rate (%) of the remote stream during the reporting interval.
- numChannels
- Number of audio channels.
- receivedSampleRate
- Sampling rate of the received remote audio stream during the reporting interval.
- receivedBitrate
- Average bitrate (Kbps) of the received remote audio stream during the reporting interval.
- totalFrozenTime
- Total duration (ms) of audio freezes after the remote user joins the channel. An audio freeze is defined as a frame loss rate of 4% or higher during a call.
- frozenRate
- Percentage (%) of total freeze time relative to the total duration of valid audio. Valid audio duration refers to the time after the remote user joins the channel during which audio is neither stopped nor disabled.
- totalActiveTime
- Valid duration (ms) from the start of the audio call to the current callback. Valid duration excludes the total time the remote user was muted.
- publishDuration
- Total publishing duration (ms) of the remote audio stream.
- qoeQuality
- Subjective quality of experience perceived by the local user when receiving remote audio. See EXPERIENCE_QUALITY_TYPE.
- qualityChangedReason
- Reason for poor subjective experience quality when receiving remote audio. See EXPERIENCE_POOR_REASON.
- mosValue
- During the reporting interval, the quality score of the received remote audio stream as assessed by Agora’s real-time audio MOS (Mean Opinion Score) method. The return value ranges from [0, 500]. Divide the value by 100 to get the MOS score, which ranges from 0 to 5. The higher the score, the better the audio quality.
MOS Score Audio Quality Greater than 4 Excellent audio quality, clear and smooth. 3.5 - 4 Good audio quality, occasional artifacts, but still clear. 3 - 3.5 Fair audio quality, occasional stutters, not very smooth, requires some attention to understand. 2.5 - 3 Poor audio quality, frequent stutters, requires concentration to understand. 2 - 2.5 Very poor audio quality, occasional noise, partial semantic loss, difficult to communicate. Less than 2 Extremely poor audio quality, frequent noise, significant semantic loss, communication impossible. - e2eDelay
- End-to-end audio delay (ms), i.e., the total time from when the remote user captures the audio to when the local user starts playing it.