# androidx.media3.exoplayer.audio

*** ** * ** ***

## Annotations

|---|---|
| `https://developer.android.com/reference/androidx/media3/exoplayer/audio/AudioOutputProvider.SupportLevel` | The level of support the provider has for a format. |
| `https://developer.android.com/reference/androidx/media3/exoplayer/audio/AudioSink.OffloadMode` | Audio offload mode configuration. |
| `https://developer.android.com/reference/androidx/media3/exoplayer/audio/AudioSink.SinkFormatSupport` | The level of support the sink provides for a format. |
| `https://developer.android.com/reference/androidx/media3/exoplayer/audio/DefaultAudioSink.OutputMode` | Output mode of the audio sink. |
| `https://developer.android.com/reference/androidx/media3/exoplayer/audio/IamfUtil.OutputLayout` | Represents the different output sound systems supported by IAMF. |

## Interfaces

|---|---|
| `https://developer.android.com/reference/androidx/media3/exoplayer/audio/AudioCapabilitiesReceiver.Listener` | Listener notified when audio capabilities change. |
| `https://developer.android.com/reference/androidx/media3/exoplayer/audio/AudioOutput` | An interface to wrap an object that can play audio, like an `https://developer.android.com/reference/android/media/AudioTrack.html`. |
| `https://developer.android.com/reference/androidx/media3/exoplayer/audio/AudioOutput.Listener` | Listener for `https://developer.android.com/reference/androidx/media3/exoplayer/audio/AudioOutput` events. |
| `https://developer.android.com/reference/androidx/media3/exoplayer/audio/AudioOutputProvider` | A provider for `https://developer.android.com/reference/androidx/media3/exoplayer/audio/AudioOutput` instances and for querying their support. |
| `https://developer.android.com/reference/androidx/media3/exoplayer/audio/AudioOutputProvider.Listener` | Listener for `https://developer.android.com/reference/androidx/media3/exoplayer/audio/AudioOutputProvider` events. |
| `https://developer.android.com/reference/androidx/media3/exoplayer/audio/AudioRendererEventListener` | Listener of audio `https://developer.android.com/reference/androidx/media3/exoplayer/Renderer` events. |
| `https://developer.android.com/reference/androidx/media3/exoplayer/audio/AudioSink` | A sink that consumes audio data. |
| `https://developer.android.com/reference/androidx/media3/exoplayer/audio/AudioSink.Listener` | Listener for audio sink events. |
| `https://developer.android.com/reference/androidx/media3/exoplayer/audio/AudioTrackAudioOutput.CapabilityChangeListener` | Listener for potential capability change events. |
| `https://developer.android.com/reference/androidx/media3/exoplayer/audio/DefaultAudioSink.AudioOffloadSupportProvider` | Provides the `https://developer.android.com/reference/androidx/media3/exoplayer/audio/AudioOffloadSupport` to convey the level of offload support the sink can provide. |
| `https://developer.android.com/reference/androidx/media3/exoplayer/audio/DefaultAudioSink.AudioProcessorChain` | **This interface is deprecated.** Use `https://developer.android.com/reference/androidx/media3/common/audio/AudioProcessorChain`. <br /> |
| `https://developer.android.com/reference/androidx/media3/exoplayer/audio/DefaultAudioSink.AudioTrackBufferSizeProvider` | Provides the buffer size to use when creating an `https://developer.android.com/reference/android/media/AudioTrack.html`. |
| `https://developer.android.com/reference/androidx/media3/exoplayer/audio/DefaultAudioSink.AudioTrackProvider` | **This interface is deprecated.** Use `https://developer.android.com/reference/androidx/media3/exoplayer/audio/AudioTrackAudioOutputProvider` instead. <br /> |
| `https://developer.android.com/reference/androidx/media3/exoplayer/audio/TeeAudioProcessor.AudioBufferSink` | A sink for audio buffers handled by the audio processor. |
| `https://developer.android.com/reference/androidx/media3/exoplayer/audio/WaveformAudioBufferSink.Listener` | Listener for the audio waveform generation. |

## Classes

|---|---|
| `https://developer.android.com/reference/androidx/media3/exoplayer/audio/AudioCapabilities` | Represents the set of audio formats that a device is capable of playing. |
| `https://developer.android.com/reference/androidx/media3/exoplayer/audio/AudioCapabilitiesReceiver` | Receives broadcast events indicating changes to the device's audio capabilities, notifying a `https://developer.android.com/reference/androidx/media3/exoplayer/audio/AudioCapabilitiesReceiver.Listener` when audio capability changes occur. |
| `https://developer.android.com/reference/androidx/media3/exoplayer/audio/AudioOffloadSupport` | Represents the support capabilities for audio offload playback. |
| `https://developer.android.com/reference/androidx/media3/exoplayer/audio/AudioOffloadSupport.Builder` | A builder to create `https://developer.android.com/reference/androidx/media3/exoplayer/audio/AudioOffloadSupport` instances. |
| `https://developer.android.com/reference/androidx/media3/exoplayer/audio/AudioOutputProvider.FormatConfig` | Configuration for an audio format and its output preferences. |
| `https://developer.android.com/reference/androidx/media3/exoplayer/audio/AudioOutputProvider.FormatConfig.Builder` | Builder for `https://developer.android.com/reference/androidx/media3/exoplayer/audio/AudioOutputProvider.FormatConfig` instances. |
| `https://developer.android.com/reference/androidx/media3/exoplayer/audio/AudioOutputProvider.FormatSupport` | Level of support for an audio format by the provider. |
| `https://developer.android.com/reference/androidx/media3/exoplayer/audio/AudioOutputProvider.FormatSupport.Builder` | A builder to create `https://developer.android.com/reference/androidx/media3/exoplayer/audio/AudioOutputProvider.FormatSupport` instances. |
| `https://developer.android.com/reference/androidx/media3/exoplayer/audio/AudioOutputProvider.OutputConfig` | Configuration for an `https://developer.android.com/reference/androidx/media3/exoplayer/audio/AudioOutput`. |
| `https://developer.android.com/reference/androidx/media3/exoplayer/audio/AudioOutputProvider.OutputConfig.Builder` | Builder for `https://developer.android.com/reference/androidx/media3/exoplayer/audio/AudioOutputProvider.OutputConfig` instances. |
| `https://developer.android.com/reference/androidx/media3/exoplayer/audio/AudioRendererEventListener.EventDispatcher` | Dispatches events to an `https://developer.android.com/reference/androidx/media3/exoplayer/audio/AudioRendererEventListener`. |
| `https://developer.android.com/reference/androidx/media3/exoplayer/audio/AudioSink.AudioSinkConfig` | Configuration parameters for `https://developer.android.com/reference/androidx/media3/exoplayer/audio/AudioSink#configure(androidx.media3.exoplayer.audio.AudioSink.AudioSinkConfig)` the audio sink. |
| `https://developer.android.com/reference/androidx/media3/exoplayer/audio/AudioSink.AudioSinkConfig.Builder` | Builder for `https://developer.android.com/reference/androidx/media3/exoplayer/audio/AudioSink.AudioSinkConfig`. |
| `https://developer.android.com/reference/androidx/media3/exoplayer/audio/AudioSink.AudioTrackConfig` | Configuration parameters used for an `https://developer.android.com/reference/android/media/AudioTrack.html`. |
| `https://developer.android.com/reference/androidx/media3/exoplayer/audio/AudioTrackAudioOutput` | A default implementation of `https://developer.android.com/reference/androidx/media3/exoplayer/audio/AudioOutput` that wraps an `https://developer.android.com/reference/android/media/AudioTrack.html`. |
| `https://developer.android.com/reference/androidx/media3/exoplayer/audio/AudioTrackAudioOutputProvider` | A default implementation of `https://developer.android.com/reference/androidx/media3/exoplayer/audio/AudioOutputProvider`. |
| `https://developer.android.com/reference/androidx/media3/exoplayer/audio/AudioTrackAudioOutputProvider.Builder` | A builder to create `https://developer.android.com/reference/androidx/media3/exoplayer/audio/AudioTrackAudioOutputProvider` instances. |
| `https://developer.android.com/reference/androidx/media3/exoplayer/audio/ChannelMappingAudioProcessor` | An `https://developer.android.com/reference/androidx/media3/common/audio/AudioProcessor` that applies a mapping from input channels onto specified output channels. |
| `https://developer.android.com/reference/androidx/media3/exoplayer/audio/DecoderAudioRenderer` | Decodes and renders audio using a `https://developer.android.com/reference/androidx/media3/decoder/Decoder`. |
| `https://developer.android.com/reference/androidx/media3/exoplayer/audio/DefaultAudioOffloadSupportProvider` | Provides the `https://developer.android.com/reference/androidx/media3/exoplayer/audio/AudioOffloadSupport` capabilities for a `https://developer.android.com/reference/androidx/media3/common/Format` and `https://developer.android.com/reference/androidx/media3/common/AudioAttributes`. |
| `https://developer.android.com/reference/androidx/media3/exoplayer/audio/DefaultAudioSink` | Plays audio data. |
| `https://developer.android.com/reference/androidx/media3/exoplayer/audio/DefaultAudioSink.Builder` | A builder to create `https://developer.android.com/reference/androidx/media3/exoplayer/audio/DefaultAudioSink` instances. |
| `https://developer.android.com/reference/androidx/media3/exoplayer/audio/DefaultAudioSink.DefaultAudioProcessorChain` | The default audio processor chain, which applies a (possibly empty) chain of user-defined audio processors followed by `https://developer.android.com/reference/androidx/media3/exoplayer/audio/SilenceSkippingAudioProcessor` and `https://developer.android.com/reference/androidx/media3/common/audio/SonicAudioProcessor`. |
| `https://developer.android.com/reference/androidx/media3/exoplayer/audio/DefaultAudioTrackBufferSizeProvider` | Provide the buffer size to use when creating an `https://developer.android.com/reference/android/media/AudioTrack.html`. |
| `https://developer.android.com/reference/androidx/media3/exoplayer/audio/DefaultAudioTrackBufferSizeProvider.Builder` | A builder to create `https://developer.android.com/reference/androidx/media3/exoplayer/audio/DefaultAudioTrackBufferSizeProvider` instances. |
| `https://developer.android.com/reference/androidx/media3/exoplayer/audio/DefaultAudioTrackProvider` | **This class is deprecated.** Use `https://developer.android.com/reference/androidx/media3/exoplayer/audio/AudioTrackAudioOutputProvider` instead. <br /> |
| `https://developer.android.com/reference/androidx/media3/exoplayer/audio/ForwardingAudioOutput` | A forwarding base class that delegates all calls to the provided `https://developer.android.com/reference/androidx/media3/exoplayer/audio/AudioOutput`. |
| `https://developer.android.com/reference/androidx/media3/exoplayer/audio/ForwardingAudioOutputProvider` | A forwarding base class that delegates all calls to the provided `https://developer.android.com/reference/androidx/media3/exoplayer/audio/AudioOutputProvider`. |
| `https://developer.android.com/reference/androidx/media3/exoplayer/audio/ForwardingAudioSink` | An overridable `https://developer.android.com/reference/androidx/media3/exoplayer/audio/AudioSink` implementation forwarding all methods to another sink. |
| `https://developer.android.com/reference/androidx/media3/exoplayer/audio/IamfUtil` | Constants and utils for configuring IAMF decoding. |
| `https://developer.android.com/reference/androidx/media3/exoplayer/audio/MediaCodecAudioRenderer` | Decodes and renders audio using `https://developer.android.com/reference/android/media/MediaCodec.html` and an `https://developer.android.com/reference/androidx/media3/exoplayer/audio/AudioSink`. |
| `https://developer.android.com/reference/androidx/media3/exoplayer/audio/OggOpusAudioPacketizer` | A packetizer that encapsulates Opus audio encodings in Ogg packets. |
| `https://developer.android.com/reference/androidx/media3/exoplayer/audio/PcmAudioUtil` | Utility methods for PCM audio data. |
| `https://developer.android.com/reference/androidx/media3/exoplayer/audio/SilenceSkippingAudioProcessor` | An `https://developer.android.com/reference/androidx/media3/common/audio/AudioProcessor` that skips silence in the input stream. |
| `https://developer.android.com/reference/androidx/media3/exoplayer/audio/TeeAudioProcessor` | Audio processor that outputs its input unmodified and also outputs its input to a given sink. |
| `https://developer.android.com/reference/androidx/media3/exoplayer/audio/TeeAudioProcessor.WavFileAudioBufferSink` | A sink for audio buffers that writes output audio as .wav files with a given path prefix. |
| `https://developer.android.com/reference/androidx/media3/exoplayer/audio/ToFloatPcmAudioProcessor` | An `https://developer.android.com/reference/androidx/media3/common/audio/AudioProcessor` that converts different PCM audio encodings to 32-bit float. |
| `https://developer.android.com/reference/androidx/media3/exoplayer/audio/TrimmingAudioProcessor` | Audio processor for trimming samples from the start/end of data. |
| `https://developer.android.com/reference/androidx/media3/exoplayer/audio/WaveformAudioBufferSink` | A sink for audio buffers that produces `https://developer.android.com/reference/androidx/media3/exoplayer/audio/WaveformAudioBufferSink.WaveformBar`. |
| `https://developer.android.com/reference/androidx/media3/exoplayer/audio/WaveformAudioBufferSink.WaveformBar` | Aggregates a group of audio samples. |

## Exceptions

|---|---|
| `https://developer.android.com/reference/androidx/media3/exoplayer/audio/AudioOutput.WriteException` | Thrown when a failure occurs writing to the output. |
| `https://developer.android.com/reference/androidx/media3/exoplayer/audio/AudioOutputProvider.ConfigurationException` | Thrown when a failure occurs configuring the output. |
| `https://developer.android.com/reference/androidx/media3/exoplayer/audio/AudioOutputProvider.InitializationException` | Thrown when a failure occurs initializing the output. |
| `https://developer.android.com/reference/androidx/media3/exoplayer/audio/AudioSink.ConfigurationException` | Thrown when a failure occurs configuring the sink. |
| `https://developer.android.com/reference/androidx/media3/exoplayer/audio/AudioSink.InitializationException` | Thrown when a failure occurs initializing the sink. |
| `https://developer.android.com/reference/androidx/media3/exoplayer/audio/AudioSink.UnexpectedDiscontinuityException` | Thrown when the sink encounters an unexpected timestamp discontinuity. |
| `https://developer.android.com/reference/androidx/media3/exoplayer/audio/AudioSink.WriteException` | Thrown when a failure occurs writing to the sink. |
| `https://developer.android.com/reference/androidx/media3/exoplayer/audio/AudioTrackAudioOutput.InvalidAudioTrackTimestampException` | Thrown when the audio track has provided a spurious timestamp, if `https://developer.android.com/reference/androidx/media3/common/MediaLibraryInfo#enableWorkarounds()` is false. |