
AudioTrack automatically ramps down volume when pausing. However, when this happens as part of a AudioSink.flush() operation, we need to postpone the actual flush() until the ramp down finished in the audio system. Otherwise audio is just cut off, creating pop sounds. Delaying the release is fine now, because DefaultAudioSink starts creating a new track immediately without waiting for the previous track to be released. Also using the opportunity to add more comments about related quirks of the AudioTrack flush/release handling for more context. PiperOrigin-RevId: 654794818
ExoPlayer module
This module provides ExoPlayer
, the Player
implementation for local media
playback on Android.
Getting the module
The easiest way to get the module is to add it as a gradle dependency:
implementation 'androidx.media3:media3-exoplayer:1.X.X'
where 1.X.X
is the version, which must match the version of the other media
modules being used.
Alternatively, you can clone this GitHub project and depend on the module locally. Instructions for doing this can be found in the top level README.