public class ListenerMux extends java.lang.Object implements ExoPlayerListener, android.media.MediaPlayer.OnPreparedListener, android.media.MediaPlayer.OnCompletionListener, android.media.MediaPlayer.OnErrorListener, android.media.MediaPlayer.OnBufferingUpdateListener, android.media.MediaPlayer.OnSeekCompleteListener, OnBufferUpdateListener, MetadataListener
ExoMediaPlayer,
Android VideoView, and the Android MediaPlayer to output to the correct
error listeners.| Modifier and Type | Class and Description |
|---|---|
static class |
ListenerMux.Notifier |
| Constructor and Description |
|---|
ListenerMux(ListenerMux.Notifier notifier) |
| Modifier and Type | Method and Description |
|---|---|
void |
clearSurfaceWhenReady(ClearableSurface clearableSurface)
Specifies the surface to clear when the playback reaches an appropriate state.
|
boolean |
isPrepared()
Retrieves if the player was prepared
|
void |
onAudioAttributesChanged(EventTime eventTime,
AudioAttributes audioAttributes) |
void |
onAudioSessionId(EventTime eventTime,
int audioSessionId) |
void |
onAudioUnderrun(EventTime eventTime,
int bufferSize,
long bufferSizeMs,
long elapsedSinceLastFeedMs) |
void |
onBandwidthEstimate(EventTime eventTime,
int totalLoadTimeMs,
long totalBytesLoaded,
long bitrateEstimate) |
void |
onBufferingUpdate(int percent)
Called to update status in buffering a media stream.
|
void |
onBufferingUpdate(android.media.MediaPlayer mp,
int percent) |
void |
onCompletion(android.media.MediaPlayer mp) |
void |
onDecoderDisabled(EventTime eventTime,
int trackType,
DecoderCounters decoderCounters) |
void |
onDecoderEnabled(EventTime eventTime,
int trackType,
DecoderCounters decoderCounters) |
void |
onDecoderInitialized(EventTime eventTime,
int trackType,
java.lang.String decoderName,
long initializationDurationMs) |
void |
onDecoderInputFormatChanged(EventTime eventTime,
int trackType,
Format format) |
void |
onDownstreamFormatChanged(EventTime eventTime,
MediaSourceEventListener.MediaLoadData mediaLoadData) |
void |
onDrmKeysLoaded(EventTime eventTime) |
void |
onDrmKeysRemoved(EventTime eventTime) |
void |
onDrmKeysRestored(EventTime eventTime) |
void |
onDrmSessionAcquired(EventTime eventTime) |
void |
onDrmSessionManagerError(EventTime eventTime,
java.lang.Exception error) |
void |
onDrmSessionReleased(EventTime eventTime) |
void |
onDroppedVideoFrames(EventTime eventTime,
int droppedFrames,
long elapsedMs) |
void |
onError(ExoMediaPlayer exoMediaPlayer,
java.lang.Exception e) |
boolean |
onError(android.media.MediaPlayer mp,
int what,
int extra) |
void |
onLoadCanceled(EventTime eventTime,
MediaSourceEventListener.LoadEventInfo loadEventInfo,
MediaSourceEventListener.MediaLoadData mediaLoadData) |
void |
onLoadCompleted(EventTime eventTime,
MediaSourceEventListener.LoadEventInfo loadEventInfo,
MediaSourceEventListener.MediaLoadData mediaLoadData) |
void |
onLoadError(EventTime eventTime,
MediaSourceEventListener.LoadEventInfo loadEventInfo,
MediaSourceEventListener.MediaLoadData mediaLoadData,
java.io.IOException error,
boolean wasCanceled) |
void |
onLoadingChanged(EventTime eventTime,
boolean isLoading) |
void |
onLoadStarted(EventTime eventTime,
MediaSourceEventListener.LoadEventInfo loadEventInfo,
MediaSourceEventListener.MediaLoadData mediaLoadData) |
void |
onMediaPeriodCreated(EventTime eventTime) |
void |
onMediaPeriodReleased(EventTime eventTime) |
void |
onMetadata(EventTime eventTime,
Metadata metadata) |
void |
onMetadata(Metadata metadata)
Called each time there is a metadata associated with current playback time.
|
void |
onPlaybackParametersChanged(EventTime eventTime,
PlaybackParameters playbackParameters) |
void |
onPlayerError(EventTime eventTime,
ExoPlaybackException error) |
void |
onPlayerStateChanged(EventTime eventTime,
boolean playWhenReady,
int playbackState) |
void |
onPositionDiscontinuity(EventTime eventTime,
int reason) |
void |
onPrepared(android.media.MediaPlayer mp) |
void |
onReadingStarted(EventTime eventTime) |
void |
onRenderedFirstFrame(EventTime eventTime,
android.view.Surface surface) |
void |
onRepeatModeChanged(EventTime eventTime,
int repeatMode) |
void |
onSeekComplete()
Called to indicate the completion of a seek operation.
|
void |
onSeekComplete(android.media.MediaPlayer mp) |
void |
onSeekProcessed(EventTime eventTime) |
void |
onSeekStarted(EventTime eventTime) |
void |
onShuffleModeChanged(EventTime eventTime,
boolean shuffleModeEnabled) |
void |
onStateChanged(boolean playWhenReady,
int playbackState) |
void |
onSurfaceSizeChanged(EventTime eventTime,
int width,
int height) |
void |
onTimelineChanged(EventTime eventTime,
int reason) |
void |
onTracksChanged(EventTime eventTime,
TrackGroupArray trackGroups,
TrackSelectionArray trackSelections) |
void |
onUpstreamDiscarded(EventTime eventTime,
MediaSourceEventListener.MediaLoadData mediaLoadData) |
void |
onVideoSizeChanged(EventTime eventTime,
int width,
int height,
int unappliedRotationDegrees,
float pixelWidthHeightRatio) |
void |
onVideoSizeChanged(int width,
int height,
int unAppliedRotationDegrees,
float pixelWidthHeightRatio) |
void |
onVolumeChanged(EventTime eventTime,
float volume) |
void |
setAnalyticsListener(AnalyticsListener listener)
Sets the listener to inform of Analytics updates
|
void |
setMetadataListener(MetadataListener listener)
Sets the listener to inform of ID3 metadata updates
|
void |
setNotifiedCompleted(boolean wasNotified)
Sets weather the listener was notified when the playback was completed
(played through the end).
|
void |
setNotifiedPrepared(boolean wasNotified)
Sets weather the listener was notified when we became prepared.
|
void |
setOnBufferUpdateListener(OnBufferUpdateListener listener)
Sets the listener to inform of buffering updates
|
void |
setOnCompletionListener(OnCompletionListener listener)
Sets the listener to inform of VideoPlayer completion events
|
void |
setOnErrorListener(OnErrorListener listener)
Sets the listener to inform of playback errors
|
void |
setOnPreparedListener(OnPreparedListener listener)
Sets the listener to inform of VideoPlayer prepared events
|
void |
setOnSeekCompletionListener(OnSeekCompletionListener listener)
Sets the listener to inform of VideoPlayer seek completion events
|
public ListenerMux(ListenerMux.Notifier notifier)
public void onBufferingUpdate(android.media.MediaPlayer mp,
int percent)
onBufferingUpdate in interface android.media.MediaPlayer.OnBufferingUpdateListenerpublic void onCompletion(android.media.MediaPlayer mp)
onCompletion in interface android.media.MediaPlayer.OnCompletionListenerpublic boolean onError(android.media.MediaPlayer mp,
int what,
int extra)
onError in interface android.media.MediaPlayer.OnErrorListenerpublic void onSeekComplete(android.media.MediaPlayer mp)
onSeekComplete in interface android.media.MediaPlayer.OnSeekCompleteListenerpublic void onPrepared(android.media.MediaPlayer mp)
onPrepared in interface android.media.MediaPlayer.OnPreparedListenerpublic void onError(ExoMediaPlayer exoMediaPlayer, java.lang.Exception e)
onError in interface ExoPlayerListenerpublic void onStateChanged(boolean playWhenReady,
int playbackState)
onStateChanged in interface ExoPlayerListenerpublic void onSeekComplete()
OnSeekCompletionListeneronSeekComplete in interface OnSeekCompletionListenerpublic void onBufferingUpdate(int percent)
OnBufferUpdateListeneronBufferingUpdate in interface OnBufferUpdateListenerpercent - The integer percent that is buffered [0, 100] inclusivepublic void onMetadata(Metadata metadata)
MetadataListeneronMetadata in interface MetadataListenermetadata - The metadata.public void onVideoSizeChanged(int width,
int height,
int unAppliedRotationDegrees,
float pixelWidthHeightRatio)
onVideoSizeChanged in interface ExoPlayerListenerpublic void onPlayerStateChanged(EventTime eventTime,
boolean playWhenReady,
int playbackState)
public void onTimelineChanged(EventTime eventTime,
int reason)
public void onPositionDiscontinuity(EventTime eventTime,
int reason)
public void onSeekStarted(EventTime eventTime)
public void onSeekProcessed(EventTime eventTime)
public void onPlaybackParametersChanged(EventTime eventTime,
PlaybackParameters playbackParameters)
public void onRepeatModeChanged(EventTime eventTime,
int repeatMode)
public void onShuffleModeChanged(EventTime eventTime,
boolean shuffleModeEnabled)
public void onLoadingChanged(EventTime eventTime,
boolean isLoading)
public void onPlayerError(EventTime eventTime,
ExoPlaybackException error)
public void onTracksChanged(EventTime eventTime,
TrackGroupArray trackGroups,
TrackSelectionArray trackSelections)
public void onLoadStarted(EventTime eventTime,
MediaSourceEventListener.LoadEventInfo loadEventInfo,
MediaSourceEventListener.MediaLoadData mediaLoadData)
public void onLoadCompleted(EventTime eventTime,
MediaSourceEventListener.LoadEventInfo loadEventInfo,
MediaSourceEventListener.MediaLoadData mediaLoadData)
public void onLoadCanceled(EventTime eventTime,
MediaSourceEventListener.LoadEventInfo loadEventInfo,
MediaSourceEventListener.MediaLoadData mediaLoadData)
public void onLoadError(EventTime eventTime,
MediaSourceEventListener.LoadEventInfo loadEventInfo,
MediaSourceEventListener.MediaLoadData mediaLoadData,
java.io.IOException error,
boolean wasCanceled)
public void onDownstreamFormatChanged(EventTime eventTime,
MediaSourceEventListener.MediaLoadData mediaLoadData)
public void onUpstreamDiscarded(EventTime eventTime,
MediaSourceEventListener.MediaLoadData mediaLoadData)
public void onMediaPeriodCreated(EventTime eventTime)
public void onMediaPeriodReleased(EventTime eventTime)
public void onReadingStarted(EventTime eventTime)
public void onBandwidthEstimate(EventTime eventTime,
int totalLoadTimeMs,
long totalBytesLoaded,
long bitrateEstimate)
public void onSurfaceSizeChanged(EventTime eventTime,
int width,
int height)
public void onVolumeChanged(EventTime eventTime,
float volume)
public void onDrmSessionAcquired(EventTime eventTime)
public void onDrmSessionReleased(EventTime eventTime)
public void onAudioAttributesChanged(EventTime eventTime,
AudioAttributes audioAttributes)
public void onMetadata(EventTime eventTime,
Metadata metadata)
public void onDecoderEnabled(EventTime eventTime,
int trackType,
DecoderCounters decoderCounters)
public void onDecoderInitialized(EventTime eventTime,
int trackType,
java.lang.String decoderName,
long initializationDurationMs)
public void onDecoderInputFormatChanged(EventTime eventTime,
int trackType,
Format format)
public void onDecoderDisabled(EventTime eventTime,
int trackType,
DecoderCounters decoderCounters)
public void onAudioSessionId(EventTime eventTime,
int audioSessionId)
public void onAudioUnderrun(EventTime eventTime,
int bufferSize,
long bufferSizeMs,
long elapsedSinceLastFeedMs)
public void onDroppedVideoFrames(EventTime eventTime,
int droppedFrames,
long elapsedMs)
public void onVideoSizeChanged(EventTime eventTime,
int width,
int height,
int unappliedRotationDegrees,
float pixelWidthHeightRatio)
public void onRenderedFirstFrame(EventTime eventTime,
android.view.Surface surface)
public void onDrmKeysLoaded(EventTime eventTime)
public void onDrmSessionManagerError(EventTime eventTime,
java.lang.Exception error)
public void onDrmKeysRestored(EventTime eventTime)
public void onDrmKeysRemoved(EventTime eventTime)
public void clearSurfaceWhenReady(ClearableSurface clearableSurface)
clearableSurface is cleared, the reference will be removedclearableSurface - The ClearableSurface to clear when the playback reaches an appropriate statepublic void setOnPreparedListener(OnPreparedListener listener)
listener - The listener to informpublic void setOnCompletionListener(OnCompletionListener listener)
listener - The listener to informpublic void setOnBufferUpdateListener(OnBufferUpdateListener listener)
listener - The listener to informpublic void setOnSeekCompletionListener(OnSeekCompletionListener listener)
listener - The listener to informpublic void setOnErrorListener(OnErrorListener listener)
listener - The listener to informpublic void setMetadataListener(MetadataListener listener)
listener - The listener to informpublic void setAnalyticsListener(AnalyticsListener listener)
listener - The listener to informpublic void setNotifiedPrepared(boolean wasNotified)
wasNotified - True if the onPreparedListener was already notifiedpublic boolean isPrepared()
public void setNotifiedCompleted(boolean wasNotified)
wasNotified - True if the onCompletionListener was already notified