Google is committed to advancing racial equity for Black communities. See how.

PlayerCallback

abstract class PlayerCallback : SessionPlayer.PlayerCallback
kotlin.Any
   ↳ androidx.media2.common.SessionPlayer.PlayerCallback
   ↳ androidx.media2.player.MediaPlayer.PlayerCallback

Interface definition for callbacks to be invoked when the player has the corresponding events.

Summary

Public constructors

Interface definition for callbacks to be invoked when the player has the corresponding events.

Public methods
open Unit
onError(@NonNull mp: MediaPlayer, @NonNull item: MediaItem, what: Int, extra: Int)

Called to indicate an error.

open Unit
onInfo(@NonNull mp: MediaPlayer, @NonNull item: MediaItem, what: Int, extra: Int)

Called to indicate an info or a warning.

open Unit
onMediaTimeDiscontinuity(@NonNull mp: MediaPlayer, @NonNull item: MediaItem, @NonNull timestamp: MediaTimestamp)

Called when a discontinuity in the normal progression of the media time is detected.

open Unit
onTimedMetaDataAvailable(@NonNull mp: MediaPlayer, @NonNull item: MediaItem, @NonNull data: TimedMetaData)

Called to indicate available timed metadata

open Unit
onVideoSizeChanged(@NonNull mp: MediaPlayer, @NonNull item: MediaItem, @NonNull size: VideoSize)

open Unit
onVideoSizeChanged(@NonNull player: SessionPlayer, @NonNull size: VideoSize)

Called to indicate the video size

Inherited functions

Public constructors

<init>

PlayerCallback()

Interface definition for callbacks to be invoked when the player has the corresponding events.

Public methods

onError

open fun onError(
    @NonNull mp: MediaPlayer,
    @NonNull item: MediaItem,
    what: Int,
    extra: Int
): Unit

Called to indicate an error.

Parameters
mp MediaPlayer: the MediaPlayer2 the error pertains to
item MediaItem: the MediaItem of this media item
what Int: the type of error that has occurred.
extra Int: an extra code, specific to the error. Typically implementation dependent.

onInfo

open fun onInfo(
    @NonNull mp: MediaPlayer,
    @NonNull item: MediaItem,
    what: Int,
    extra: Int
): Unit

Called to indicate an info or a warning.

Parameters
mp MediaPlayer: the player the info pertains to.
item MediaItem: the MediaItem of this media item
what Int: the type of info or warning.
extra Int: an extra code, specific to the info. Typically implementation dependent.

onMediaTimeDiscontinuity

open fun onMediaTimeDiscontinuity(
    @NonNull mp: MediaPlayer,
    @NonNull item: MediaItem,
    @NonNull timestamp: MediaTimestamp
): Unit

Called when a discontinuity in the normal progression of the media time is detected.

The "normal progression" of media time is defined as the expected increase of the playback position when playing media, relative to the playback speed (for instance every second, media time increases by two seconds when playing at 2x).
Discontinuities are encountered in the following cases:

  • when the player is starved for data and cannot play anymore
  • when the player encounters a playback error
  • when the a seek operation starts, and when it's completed
  • when the playback speed changes
  • when the playback state changes
  • when the player is reset
Parameters
mp MediaPlayer: the player the media time pertains to.
item MediaItem: the MediaItem of this media item
timestamp MediaTimestamp: the timestamp that correlates media time, system time and clock rate, or MediaTimestamp#TIMESTAMP_UNKNOWN in an error case.

onTimedMetaDataAvailable

open fun onTimedMetaDataAvailable(
    @NonNull mp: MediaPlayer,
    @NonNull item: MediaItem,
    @NonNull data: TimedMetaData
): Unit

Called to indicate available timed metadata

This method will be called as timed metadata is extracted from the media, in the same order as it occurs in the media. The timing of this event is not controlled by the associated timestamp.

Currently only HTTP live streaming data URI's embedded with timed ID3 tags generates TimedMetaData.

Parameters
mp MediaPlayer: the player associated with this callback
item MediaItem: the MediaItem of this media item
data TimedMetaData: the timed metadata sample associated with this event

See Also

onVideoSizeChanged

open fun onVideoSizeChanged(
    @NonNull mp: MediaPlayer,
    @NonNull item: MediaItem,
    @NonNull size: VideoSize
): Unit

Deprecated: Use onVideoSizeChanged(SessionPlayer,androidx.media2.common.VideoSize) instead.

onVideoSizeChanged

open fun onVideoSizeChanged(
    @NonNull player: SessionPlayer,
    @NonNull size: VideoSize
): Unit

Called to indicate the video size

The video size (width and height) could be 0 if there was no video, no display surface was set, or the value was not determined yet.

Parameters
player SessionPlayer: the player associated with this callback
size VideoSize: the size of the video