# AudioRendererEventListener.EventDispatcher

Artifact: [androidx.media3:media3-exoplayer](https://developer.android.com/jetpack/androidx/releases/media3) [View Source](https://cs.android.com/search?q=file:androidx/media3/exoplayer/audio/AudioRendererEventListener.java+class:androidx.media3.exoplayer.audio.AudioRendererEventListener.EventDispatcher)

*** ** * ** ***


```
public final class AudioRendererEventListener.EventDispatcher
```

<br />

*** ** * ** ***

Dispatches events to an `https://developer.android.com/reference/androidx/media3/exoplayer/audio/AudioRendererEventListener`.

## Summary

| ### Public constructors |
|---|
| `https://developer.android.com/reference/androidx/media3/exoplayer/audio/AudioRendererEventListener.EventDispatcher#EventDispatcher(android.os.Handler,androidx.media3.exoplayer.audio.AudioRendererEventListener)( @https://developer.android.com/reference/androidx/annotation/Nullable https://developer.android.com/reference/android/os/Handler.html handler, @https://developer.android.com/reference/androidx/annotation/Nullable https://developer.android.com/reference/androidx/media3/exoplayer/audio/AudioRendererEventListener listener )` |

| ### Public methods |
|---|---|
| `void` | `https://developer.android.com/reference/androidx/media3/exoplayer/audio/AudioRendererEventListener.EventDispatcher#audioCodecError(java.lang.Exception)(https://developer.android.com/reference/java/lang/Exception.html audioCodecError)` Invokes `https://developer.android.com/reference/androidx/media3/exoplayer/audio/AudioRendererEventListener#onAudioCodecError(java.lang.Exception)`. |
| `void` | `https://developer.android.com/reference/androidx/media3/exoplayer/audio/AudioRendererEventListener.EventDispatcher#audioCodecParametersChanged(androidx.media3.exoplayer.CodecParameters)(https://developer.android.com/reference/androidx/media3/exoplayer/CodecParameters codecParameters)` Invokes `https://developer.android.com/reference/androidx/media3/exoplayer/audio/AudioRendererEventListener#onAudioCodecParametersChanged(androidx.media3.exoplayer.CodecParameters)`. |
| `void` | `https://developer.android.com/reference/androidx/media3/exoplayer/audio/AudioRendererEventListener.EventDispatcher#audioSessionIdChanged(int)(int audioSessionId)` Invokes `https://developer.android.com/reference/androidx/media3/exoplayer/audio/AudioRendererEventListener#onAudioSessionIdChanged(int)`. |
| `void` | `https://developer.android.com/reference/androidx/media3/exoplayer/audio/AudioRendererEventListener.EventDispatcher#audioSinkError(java.lang.Exception)(https://developer.android.com/reference/java/lang/Exception.html audioSinkError)` Invokes `https://developer.android.com/reference/androidx/media3/exoplayer/audio/AudioRendererEventListener#onAudioSinkError(java.lang.Exception)`. |
| `void` | `https://developer.android.com/reference/androidx/media3/exoplayer/audio/AudioRendererEventListener.EventDispatcher#audioTrackInitialized(androidx.media3.exoplayer.audio.AudioSink.AudioTrackConfig)(https://developer.android.com/reference/androidx/media3/exoplayer/audio/AudioSink.AudioTrackConfig audioTrackConfig)` Invokes `https://developer.android.com/reference/androidx/media3/exoplayer/audio/AudioRendererEventListener#onAudioTrackInitialized(androidx.media3.exoplayer.audio.AudioSink.AudioTrackConfig)`. |
| `void` | `https://developer.android.com/reference/androidx/media3/exoplayer/audio/AudioRendererEventListener.EventDispatcher#audioTrackReleased(androidx.media3.exoplayer.audio.AudioSink.AudioTrackConfig)(https://developer.android.com/reference/androidx/media3/exoplayer/audio/AudioSink.AudioTrackConfig audioTrackConfig)` Invokes `https://developer.android.com/reference/androidx/media3/exoplayer/audio/AudioRendererEventListener#onAudioTrackReleased(androidx.media3.exoplayer.audio.AudioSink.AudioTrackConfig)`. |
| `void` | `https://developer.android.com/reference/androidx/media3/exoplayer/audio/AudioRendererEventListener.EventDispatcher#decoderInitialized(java.lang.String,long,long)( https://developer.android.com/reference/java/lang/String.html decoderName, long initializedTimestampMs, long initializationDurationMs )` Invokes `https://developer.android.com/reference/androidx/media3/exoplayer/audio/AudioRendererEventListener#onAudioDecoderInitialized(java.lang.String,long,long)`. |
| `void` | `https://developer.android.com/reference/androidx/media3/exoplayer/audio/AudioRendererEventListener.EventDispatcher#decoderReleased(java.lang.String)(https://developer.android.com/reference/java/lang/String.html decoderName)` Invokes `https://developer.android.com/reference/androidx/media3/exoplayer/audio/AudioRendererEventListener#onAudioDecoderReleased(java.lang.String)`. |
| `void` | `https://developer.android.com/reference/androidx/media3/exoplayer/audio/AudioRendererEventListener.EventDispatcher#disabled(androidx.media3.exoplayer.DecoderCounters)(https://developer.android.com/reference/androidx/media3/exoplayer/DecoderCounters counters)` Invokes `https://developer.android.com/reference/androidx/media3/exoplayer/audio/AudioRendererEventListener#onAudioDisabled(androidx.media3.exoplayer.DecoderCounters)`. |
| `void` | `https://developer.android.com/reference/androidx/media3/exoplayer/audio/AudioRendererEventListener.EventDispatcher#enabled(androidx.media3.exoplayer.DecoderCounters)(https://developer.android.com/reference/androidx/media3/exoplayer/DecoderCounters decoderCounters)` Invokes `https://developer.android.com/reference/androidx/media3/exoplayer/audio/AudioRendererEventListener#onAudioEnabled(androidx.media3.exoplayer.DecoderCounters)`. |
| `void` | `https://developer.android.com/reference/androidx/media3/exoplayer/audio/AudioRendererEventListener.EventDispatcher#inputFormatChanged(androidx.media3.common.Format,androidx.media3.exoplayer.DecoderReuseEvaluation)( https://developer.android.com/reference/androidx/media3/common/Format format, @https://developer.android.com/reference/androidx/annotation/Nullable https://developer.android.com/reference/androidx/media3/exoplayer/DecoderReuseEvaluation decoderReuseEvaluation )` Invokes `https://developer.android.com/reference/androidx/media3/exoplayer/audio/AudioRendererEventListener#onAudioInputFormatChanged(androidx.media3.common.Format,androidx.media3.exoplayer.DecoderReuseEvaluation)`. |
| `void` | `https://developer.android.com/reference/androidx/media3/exoplayer/audio/AudioRendererEventListener.EventDispatcher#positionAdvancing(long)(long playoutStartSystemTimeMs)` Invokes `https://developer.android.com/reference/androidx/media3/exoplayer/audio/AudioRendererEventListener#onAudioPositionAdvancing(long)`. |
| `void` | `https://developer.android.com/reference/androidx/media3/exoplayer/audio/AudioRendererEventListener.EventDispatcher#skipSilenceEnabledChanged(boolean)(boolean skipSilenceEnabled)` Invokes `https://developer.android.com/reference/androidx/media3/exoplayer/audio/AudioRendererEventListener#onSkipSilenceEnabledChanged(boolean)`. |
| `void` | `https://developer.android.com/reference/androidx/media3/exoplayer/audio/AudioRendererEventListener.EventDispatcher#underrun(int,long,long)(int bufferSize, long bufferSizeMs, long elapsedSinceLastFeedMs)` Invokes `https://developer.android.com/reference/androidx/media3/exoplayer/audio/AudioRendererEventListener#onAudioUnderrun(int,long,long)`. |

## Public constructors

### EventDispatcher

```
public EventDispatcher(
    @Nullable Handler handler,
    @Nullable AudioRendererEventListener listener
)
```

| Parameters |
|---|---|
| `@https://developer.android.com/reference/androidx/annotation/Nullable https://developer.android.com/reference/android/os/Handler.html handler` | A handler for dispatching events, or null if events should not be dispatched. |
| `@https://developer.android.com/reference/androidx/annotation/Nullable https://developer.android.com/reference/androidx/media3/exoplayer/audio/AudioRendererEventListener listener` | The listener to which events should be dispatched, or null if events should not be dispatched. |

## Public methods

### audioCodecError

```
public void audioCodecError(Exception audioCodecError)
```

Invokes `https://developer.android.com/reference/androidx/media3/exoplayer/audio/AudioRendererEventListener#onAudioCodecError(java.lang.Exception)`.

### audioCodecParametersChanged

```
public void audioCodecParametersChanged(CodecParameters codecParameters)
```

Invokes `https://developer.android.com/reference/androidx/media3/exoplayer/audio/AudioRendererEventListener#onAudioCodecParametersChanged(androidx.media3.exoplayer.CodecParameters)`.

### audioSessionIdChanged

```
public void audioSessionIdChanged(int audioSessionId)
```

Invokes `https://developer.android.com/reference/androidx/media3/exoplayer/audio/AudioRendererEventListener#onAudioSessionIdChanged(int)`.

### audioSinkError

```
public void audioSinkError(Exception audioSinkError)
```

Invokes `https://developer.android.com/reference/androidx/media3/exoplayer/audio/AudioRendererEventListener#onAudioSinkError(java.lang.Exception)`.

### audioTrackInitialized

```
public void audioTrackInitialized(AudioSink.AudioTrackConfig audioTrackConfig)
```

Invokes `https://developer.android.com/reference/androidx/media3/exoplayer/audio/AudioRendererEventListener#onAudioTrackInitialized(androidx.media3.exoplayer.audio.AudioSink.AudioTrackConfig)`.

### audioTrackReleased

```
public void audioTrackReleased(AudioSink.AudioTrackConfig audioTrackConfig)
```

Invokes `https://developer.android.com/reference/androidx/media3/exoplayer/audio/AudioRendererEventListener#onAudioTrackReleased(androidx.media3.exoplayer.audio.AudioSink.AudioTrackConfig)`.

### decoderInitialized

```
public void decoderInitialized(
    String decoderName,
    long initializedTimestampMs,
    long initializationDurationMs
)
```

Invokes `https://developer.android.com/reference/androidx/media3/exoplayer/audio/AudioRendererEventListener#onAudioDecoderInitialized(java.lang.String,long,long)`.

### decoderReleased

```
public void decoderReleased(String decoderName)
```

Invokes `https://developer.android.com/reference/androidx/media3/exoplayer/audio/AudioRendererEventListener#onAudioDecoderReleased(java.lang.String)`.

### disabled

```
public void disabled(DecoderCounters counters)
```

Invokes `https://developer.android.com/reference/androidx/media3/exoplayer/audio/AudioRendererEventListener#onAudioDisabled(androidx.media3.exoplayer.DecoderCounters)`.

### enabled

```
public void enabled(DecoderCounters decoderCounters)
```

Invokes `https://developer.android.com/reference/androidx/media3/exoplayer/audio/AudioRendererEventListener#onAudioEnabled(androidx.media3.exoplayer.DecoderCounters)`.

### inputFormatChanged

```
public void inputFormatChanged(
    Format format,
    @Nullable DecoderReuseEvaluation decoderReuseEvaluation
)
```

Invokes `https://developer.android.com/reference/androidx/media3/exoplayer/audio/AudioRendererEventListener#onAudioInputFormatChanged(androidx.media3.common.Format,androidx.media3.exoplayer.DecoderReuseEvaluation)`.

### positionAdvancing

```
public void positionAdvancing(long playoutStartSystemTimeMs)
```

Invokes `https://developer.android.com/reference/androidx/media3/exoplayer/audio/AudioRendererEventListener#onAudioPositionAdvancing(long)`.

### skipSilenceEnabledChanged

```
public void skipSilenceEnabledChanged(boolean skipSilenceEnabled)
```

Invokes `https://developer.android.com/reference/androidx/media3/exoplayer/audio/AudioRendererEventListener#onSkipSilenceEnabledChanged(boolean)`.

### underrun

```
public void underrun(int bufferSize, long bufferSizeMs, long elapsedSinceLastFeedMs)
```

Invokes `https://developer.android.com/reference/androidx/media3/exoplayer/audio/AudioRendererEventListener#onAudioUnderrun(int,long,long)`.