AudioStats

@RequiresApi(value = 21)
@AutoValue
public abstract class AudioStats


The audio information about an Recording at a point in time.

The audio information will be contained in every RecordingStats.

Summary

Constants

static final double

Should audio recording be disabled, any attempts to retrieve the amplitude will return this value.

static final int

The recording is being recorded with audio data.

static final int

The recording of audio is disabled.

static final int

The recording is muted because the audio encoder encountered errors.

static final int

The recording is muted by mute.

static final int

The recording is muted because the audio source encountered errors.

static final int

The recording is muted because the audio source is silenced by the system.

Public methods

double

Returns the maximum absolute amplitude of the audio most recently sampled in the past 2 nanoseconds

abstract int

Returns the state of audio in the recording.

abstract @Nullable Throwable

Gets the error cause.

boolean

Indicates whether the recording is being recorded with audio.

boolean

Indicates whether an error occurred.

Constants

AUDIO_AMPLITUDE_NONE

Added in 1.4.0-alpha04
public static final double AUDIO_AMPLITUDE_NONE = 0.0

Should audio recording be disabled, any attempts to retrieve the amplitude will return this value.

AUDIO_STATE_ACTIVE

Added in 1.1.0
public static final int AUDIO_STATE_ACTIVE = 0

The recording is being recorded with audio data.

When audio is active, the recorded video file will contain audio data.

AUDIO_STATE_DISABLED

Added in 1.1.0
public static final int AUDIO_STATE_DISABLED = 1

The recording of audio is disabled.

This audio state results from a PendingRecording that was started without calling withAudioEnabled.

AUDIO_STATE_ENCODER_ERROR

Added in 1.1.0
public static final int AUDIO_STATE_ENCODER_ERROR = 3

The recording is muted because the audio encoder encountered errors.

If the audio source encounters errors during recording, audio stats generated after the error will contain this audio state, and the recording will proceed without audio.

Use getErrorCause to get the error cause.

AUDIO_STATE_MUTED

Added in 1.3.0
public static final int AUDIO_STATE_MUTED = 5

The recording is muted by mute.

AUDIO_STATE_SOURCE_ERROR

Added in 1.3.0
public static final int AUDIO_STATE_SOURCE_ERROR = 4

The recording is muted because the audio source encountered errors.

If the audio source encounters errors during recording, audio stats generated after the error will contain this audio state, and the recording will proceed without audio.

Use getErrorCause to get the error cause.

AUDIO_STATE_SOURCE_SILENCED

Added in 1.1.0
public static final int AUDIO_STATE_SOURCE_SILENCED = 2

The recording is muted because the audio source is silenced by the system.

If the audio source is occupied by a privilege application, such as the dialer, depending on the system version, the system may silence the application that are using the audio source. Use getErrorCause to get the error cause.

Public methods

getAudioAmplitude

Added in 1.4.0-alpha04
public double getAudioAmplitude()

Returns the maximum absolute amplitude of the audio most recently sampled in the past 2 nanoseconds

The amplitude is the maximum absolute value over all channels which the audio was most recently sampled from.

Amplitude is a relative measure of the maximum sound pressure/voltage range of the device microphone.

Returns AUDIO_AMPLITUDE_NONE if audio is disabled.

The amplitude value returned will be a double between 0 and 1.

getAudioState

Added in 1.1.0
public abstract int getAudioState()

Returns the state of audio in the recording.

The audio state describes whether audio is enabled for the recording and if audio is currently recording or is silenced due to system priority or errors.

Returns
int

The state of the audio at the time of these audio stats being generated. One of AUDIO_STATE_ACTIVE, AUDIO_STATE_DISABLED, AUDIO_STATE_SOURCE_SILENCED, or AUDIO_STATE_ENCODER_ERROR.

getErrorCause

Added in 1.1.0
public abstract @Nullable Throwable getErrorCause()

Gets the error cause.

Returns null if hasError returns false.

hasAudio

Added in 1.1.0
public boolean hasAudio()

Indicates whether the recording is being recorded with audio.

hasError

Added in 1.1.0
public boolean hasError()

Indicates whether an error occurred.

Returns true if the audio is muted due to unexpected error like audio source is occupied or audio encoder encountered errors, otherwise false.