public interface

DefaultAudioSink.AudioTrackBufferSizeProvider

 androidx.media3.exoplayer.audio.DefaultAudioSink.AudioTrackBufferSizeProvider

Subclasses:

DefaultAudioTrackBufferSizeProvider

Overview

Provides the buffer size to use when creating an AudioTrack.

Summary

Fields
public static final DefaultAudioSink.AudioTrackBufferSizeProviderDEFAULT

Default instance.

Methods
public intgetBufferSizeInBytes(int minBufferSizeInBytes, int encoding, int outputMode, int pcmFrameSize, int sampleRate, int bitrate, double maxAudioTrackPlaybackSpeed)

Returns the buffer size to use when creating an AudioTrack for a specific format and output mode.

Fields

Default instance.

Methods

public int getBufferSizeInBytes(int minBufferSizeInBytes, int encoding, int outputMode, int pcmFrameSize, int sampleRate, int bitrate, double maxAudioTrackPlaybackSpeed)

Returns the buffer size to use when creating an AudioTrack for a specific format and output mode.

Parameters:

minBufferSizeInBytes: The minimum buffer size in bytes required to play this format. See AudioTrack.
encoding: The of the format.
outputMode: How the audio will be played. One of the output modes.
pcmFrameSize: The size of the PCM frames if the encoding is PCM, 1 otherwise, in bytes.
sampleRate: The sample rate of the format, in Hz.
bitrate: The bitrate of the audio stream if the stream is compressed, or Format.NO_VALUE if encoding is PCM or the bitrate is not known.
maxAudioTrackPlaybackSpeed: The maximum speed the content will be played using AudioTrack. 0.5 is 2x slow motion, 1 is real time, 2 is 2x fast forward, etc. This will be 1 unless DefaultAudioSink.Builder.setEnableAudioTrackPlaybackParams(boolean) is enabled.

Returns:

The computed buffer size in bytes. It should always be >= minBufferSizeInBytes. The computed buffer size must contain an integer number of frames: bufferSizeInBytes % pcmFrameSize == 0.