TeeAudioProcessor
@UnstableApi
public final class TeeAudioProcessor extends BaseAudioProcessor
| java.lang.Object | ||
| ↳ | androidx.media3.common.audio.BaseAudioProcessor | |
| ↳ | androidx.media3.exoplayer.audio.TeeAudioProcessor |
Audio processor that outputs its input unmodified and also outputs its input to a given sink. This is intended to be used for diagnostics and debugging.
This audio processor can be inserted into the audio processor chain to access audio data before/after particular processing steps have been applied. For example, to get audio output after playback speed adjustment and silence skipping have been applied it is necessary to pass a custom AudioProcessorChain when creating the audio sink, and include this audio processor after all other audio processors.
Summary
Nested types |
|---|
public interface TeeAudioProcessor.AudioBufferSinkA sink for audio buffers handled by the audio processor. |
public final class TeeAudioProcessor.WavFileAudioBufferSink implements TeeAudioProcessor.AudioBufferSinkA sink for audio buffers that writes output audio as .wav files with a given path prefix. |
Public constructors |
|---|
TeeAudioProcessor(TeeAudioProcessor.AudioBufferSink audioBufferSink)Creates a new tee audio processor, sending incoming data to the given |
Public methods |
|
|---|---|
AudioProcessor.AudioFormat |
onConfigure(AudioProcessor.AudioFormat inputAudioFormat)Called when the processor is configured for a new input format. |
void |
queueInput(ByteBuffer inputBuffer)Queues audio data between the position and limit of the |
Protected methods |
|
|---|---|
void |
onFlush()This method is deprecated. Use |
void |
Called when the end-of-stream is queued to the processor. |
void |
onReset()Called when the processor is reset. |
Inherited Constants |
||
|---|---|---|
|
Inherited fields |
||||
|---|---|---|---|---|
|
Inherited methods |
||||||||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
|
||||||||||||||||||||||
|
Public constructors
TeeAudioProcessor
public TeeAudioProcessor(TeeAudioProcessor.AudioBufferSink audioBufferSink)
Creates a new tee audio processor, sending incoming data to the given AudioBufferSink.
| Parameters | |
|---|---|
TeeAudioProcessor.AudioBufferSink audioBufferSink |
The audio buffer sink that will receive input queued to this audio processor. |
Public methods
onConfigure
public AudioProcessor.AudioFormat onConfigure(AudioProcessor.AudioFormat inputAudioFormat)
Called when the processor is configured for a new input format.
queueInput
public void queueInput(ByteBuffer inputBuffer)
Queues audio data between the position and limit of the inputBuffer for processing. After calling this method, processed output may be available via getOutput. Calling queueInput(ByteBuffer) again invalidates any pending output.
| Parameters | |
|---|---|
ByteBuffer inputBuffer |
The input buffer to process. It must be a direct byte buffer with native byte order. Its contents are treated as read-only. Its position will be advanced by the number of bytes consumed (which may be zero). The caller retains ownership of the provided buffer. |
Protected methods
onQueueEndOfStream
protected void onQueueEndOfStream()
Called when the end-of-stream is queued to the processor.