Back to Exoplayer

CastPlayer (ExoPlayer library)

docs/doc/reference/com/google/android/exoplayer2/ext/cast/CastPlayer.html

latest63.8 KB
Original Source

Package com.google.android.exoplayer2.ext.cast

Class CastPlayer


[@Deprecated](https://developer.android.com/reference/java/lang/Deprecated.html "class or interface in java.lang")public final classCastPlayerextends[BasePlayer](../../BasePlayer.html "class in com.google.android.exoplayer2")

Deprecated. com.google.android.exoplayer2 is deprecated. Please migrate to androidx.media3 (which contains the same ExoPlayer code). See the migration guide for more details, including a script to help with the migration.

Player implementation that communicates with a Cast receiver app.

The behavior of this class depends on the underlying Cast session, which is obtained from the injected CastContext. To keep track of the session, isCastSessionAvailable() can be queried and SessionAvailabilityListener can be implemented and attached to the player.

If no session is available, the player state will remain unchanged and calls to methods that alter it will be ignored. Querying the player state is possible even when no session is available, in which case, the last observed receiver app state is reported.

Methods should be called on the application's main thread.

Nested Class Summary

- 

Nested classes/interfaces inherited from interface com.google.android.exoplayer2.Player

Player.Command, Player.Commands, Player.DiscontinuityReason, Player.Event, Player.Events, Player.Listener, Player.MediaItemTransitionReason, Player.PlaybackSuppressionReason, Player.PlayWhenReadyChangeReason, Player.PositionInfo, Player.RepeatMode, Player.State, Player.TimelineChangeReason

Field Summary

Fields | Modifier and Type | Field | Description | | --- | --- | --- | | static DeviceInfo | DEVICE_INFO | Deprecated.

The DeviceInfo returned by this player. | | static float | MAX_SPEED_SUPPORTED | Deprecated. | | static float | MIN_SPEED_SUPPORTED | Deprecated. |

- 

Fields inherited from class com.google.android.exoplayer2.BasePlayer

window

- 

Fields inherited from interface com.google.android.exoplayer2.Player

COMMAND_ADJUST_DEVICE_VOLUME, COMMAND_ADJUST_DEVICE_VOLUME_WITH_FLAGS, COMMAND_CHANGE_MEDIA_ITEMS, COMMAND_GET_AUDIO_ATTRIBUTES, COMMAND_GET_CURRENT_MEDIA_ITEM, COMMAND_GET_DEVICE_VOLUME, COMMAND_GET_MEDIA_ITEMS_METADATA, COMMAND_GET_METADATA, COMMAND_GET_TEXT, COMMAND_GET_TIMELINE, COMMAND_GET_TRACKS, COMMAND_GET_VOLUME, COMMAND_INVALID, COMMAND_PLAY_PAUSE, COMMAND_PREPARE, COMMAND_RELEASE, COMMAND_SEEK_BACK, COMMAND_SEEK_FORWARD, COMMAND_SEEK_IN_CURRENT_MEDIA_ITEM, COMMAND_SEEK_IN_CURRENT_WINDOW, COMMAND_SEEK_TO_DEFAULT_POSITION, COMMAND_SEEK_TO_MEDIA_ITEM, COMMAND_SEEK_TO_NEXT, COMMAND_SEEK_TO_NEXT_MEDIA_ITEM, COMMAND_SEEK_TO_NEXT_WINDOW, COMMAND_SEEK_TO_PREVIOUS, COMMAND_SEEK_TO_PREVIOUS_MEDIA_ITEM, COMMAND_SEEK_TO_PREVIOUS_WINDOW, COMMAND_SEEK_TO_WINDOW, COMMAND_SET_DEVICE_VOLUME, COMMAND_SET_DEVICE_VOLUME_WITH_FLAGS, COMMAND_SET_MEDIA_ITEM, COMMAND_SET_MEDIA_ITEMS_METADATA, COMMAND_SET_PLAYLIST_METADATA, COMMAND_SET_REPEAT_MODE, COMMAND_SET_SHUFFLE_MODE, COMMAND_SET_SPEED_AND_PITCH, COMMAND_SET_TRACK_SELECTION_PARAMETERS, COMMAND_SET_VIDEO_SURFACE, COMMAND_SET_VOLUME, COMMAND_STOP, DISCONTINUITY_REASON_AUTO_TRANSITION, DISCONTINUITY_REASON_INTERNAL, DISCONTINUITY_REASON_REMOVE, DISCONTINUITY_REASON_SEEK, DISCONTINUITY_REASON_SEEK_ADJUSTMENT, DISCONTINUITY_REASON_SKIP, EVENT_AUDIO_ATTRIBUTES_CHANGED, EVENT_AUDIO_SESSION_ID, EVENT_AVAILABLE_COMMANDS_CHANGED, EVENT_CUES, EVENT_DEVICE_INFO_CHANGED, EVENT_DEVICE_VOLUME_CHANGED, EVENT_IS_LOADING_CHANGED, EVENT_IS_PLAYING_CHANGED, EVENT_MAX_SEEK_TO_PREVIOUS_POSITION_CHANGED, EVENT_MEDIA_ITEM_TRANSITION, EVENT_MEDIA_METADATA_CHANGED, EVENT_METADATA, EVENT_PLAY_WHEN_READY_CHANGED, EVENT_PLAYBACK_PARAMETERS_CHANGED, EVENT_PLAYBACK_STATE_CHANGED, EVENT_PLAYBACK_SUPPRESSION_REASON_CHANGED, EVENT_PLAYER_ERROR, EVENT_PLAYLIST_METADATA_CHANGED, EVENT_POSITION_DISCONTINUITY, EVENT_RENDERED_FIRST_FRAME, EVENT_REPEAT_MODE_CHANGED, EVENT_SEEK_BACK_INCREMENT_CHANGED, EVENT_SEEK_FORWARD_INCREMENT_CHANGED, EVENT_SHUFFLE_MODE_ENABLED_CHANGED, EVENT_SKIP_SILENCE_ENABLED_CHANGED, EVENT_SURFACE_SIZE_CHANGED, EVENT_TIMELINE_CHANGED, EVENT_TRACK_SELECTION_PARAMETERS_CHANGED, EVENT_TRACKS_CHANGED, EVENT_VIDEO_SIZE_CHANGED, EVENT_VOLUME_CHANGED, MEDIA_ITEM_TRANSITION_REASON_AUTO, MEDIA_ITEM_TRANSITION_REASON_PLAYLIST_CHANGED, MEDIA_ITEM_TRANSITION_REASON_REPEAT, MEDIA_ITEM_TRANSITION_REASON_SEEK, PLAY_WHEN_READY_CHANGE_REASON_AUDIO_BECOMING_NOISY, PLAY_WHEN_READY_CHANGE_REASON_AUDIO_FOCUS_LOSS, PLAY_WHEN_READY_CHANGE_REASON_END_OF_MEDIA_ITEM, PLAY_WHEN_READY_CHANGE_REASON_REMOTE, PLAY_WHEN_READY_CHANGE_REASON_SUPPRESSED_TOO_LONG, PLAY_WHEN_READY_CHANGE_REASON_USER_REQUEST, PLAYBACK_SUPPRESSION_REASON_NONE, PLAYBACK_SUPPRESSION_REASON_TRANSIENT_AUDIO_FOCUS_LOSS, PLAYBACK_SUPPRESSION_REASON_UNSUITABLE_AUDIO_ROUTE, REPEAT_MODE_ALL, REPEAT_MODE_OFF, REPEAT_MODE_ONE, STATE_BUFFERING, STATE_ENDED, STATE_IDLE, STATE_READY, TIMELINE_CHANGE_REASON_PLAYLIST_CHANGED, TIMELINE_CHANGE_REASON_SOURCE_UPDATE

Constructor Summary

Constructors | Constructor | Description | | --- | --- | | CastPlayer​(com.google.android.gms.cast.framework.CastContext castContext) | Deprecated.

Creates a new cast player. | | CastPlayer​(com.google.android.gms.cast.framework.CastContext castContext, MediaItemConverter mediaItemConverter) | Deprecated.

Creates a new cast player. | | CastPlayer​(com.google.android.gms.cast.framework.CastContext castContext, MediaItemConverter mediaItemConverter, long seekBackIncrementMs, long seekForwardIncrementMs) | Deprecated.

Creates a new cast player. |

Method Summary

All Methods Instance Methods Concrete Methods Deprecated Methods | Modifier and Type | Method | Description | | --- | --- | --- | | void | addListener​(Player.Listener listener) | Deprecated.

Registers a listener to receive all events from the player. | | void | addMediaItems​(int index, List<MediaItem> mediaItems) | Deprecated.

Adds a list of media items at the given index of the playlist. | | void | clearVideoSurface() | Deprecated.

This method is not supported and does nothing. | | void | clearVideoSurface​(Surface surface) | Deprecated.

This method is not supported and does nothing. | | void | clearVideoSurfaceHolder​(SurfaceHolder surfaceHolder) | Deprecated.

This method is not supported and does nothing. | | void | clearVideoSurfaceView​(SurfaceView surfaceView) | Deprecated.

This method is not supported and does nothing. | | void | clearVideoTextureView​(TextureView textureView) | Deprecated.

This method is not supported and does nothing. | | void | decreaseDeviceVolume() | Deprecated. Use decreaseDeviceVolume(int) instead.

| | void | decreaseDeviceVolume​(@com.google.android.exoplayer2.C.VolumeFlags int flags) | Deprecated.

This method is not supported and does nothing. | | Looper | getApplicationLooper() | Deprecated.

Returns the Looper associated with the application thread that's used to access the player and on which player events are received. | | AudioAttributes | getAudioAttributes() | Deprecated.

This method is not supported and returns AudioAttributes.DEFAULT. | | Player.Commands | getAvailableCommands() | Deprecated.

Returns the player's currently available Player.Commands. | | long | getBufferedPosition() | Deprecated.

Returns an estimate of the position in the current content or ad up to which data is buffered, in milliseconds. | | long | getContentBufferedPosition() | Deprecated.

If Player.isPlayingAd() returns true, returns an estimate of the content position in the current content up to which data is buffered, in milliseconds. | | long | getContentPosition() | Deprecated.

If Player.isPlayingAd() returns true, returns the content position that will be played once all ads in the ad group have finished playing, in milliseconds. | | int | getCurrentAdGroupIndex() | Deprecated.

If Player.isPlayingAd() returns true, returns the index of the ad group in the period currently being played. | | int | getCurrentAdIndexInAdGroup() | Deprecated.

If Player.isPlayingAd() returns true, returns the index of the ad in its ad group. | | CueGroup | getCurrentCues() | Deprecated.

This method is not supported and returns an empty CueGroup. | | int | getCurrentMediaItemIndex() | Deprecated.

Returns the index of the current MediaItem in the timeline, or the prospective index if the current timeline is empty. | | int | getCurrentPeriodIndex() | Deprecated.

Returns the index of the period currently being played. | | long | getCurrentPosition() | Deprecated.

Returns the playback position in the current content or ad, in milliseconds, or the prospective position in milliseconds if the current timeline is empty. | | Timeline | getCurrentTimeline() | Deprecated.

Returns the current Timeline. | | Tracks | getCurrentTracks() | Deprecated.

Returns the current tracks. | | DeviceInfo | getDeviceInfo() | Deprecated.

This method always returns DEVICE_INFO. | | int | getDeviceVolume() | Deprecated.

This method is not supported and always returns 0. | | long | getDuration() | Deprecated.

Returns the duration of the current content or ad in milliseconds, or C.TIME_UNSET if the duration is not known. | | com.google.android.gms.cast.MediaQueueItem | getItem​(int periodId) | Deprecated.

Returns the item that corresponds to the period with the given id, or null if no media queue or period with id periodId exist. | | long | getMaxSeekToPreviousPosition() | Deprecated.

Returns the maximum position for which Player.seekToPrevious() seeks to the previous MediaItem, in milliseconds. | | MediaMetadata | getMediaMetadata() | Deprecated.

Returns the current combined MediaMetadata, or MediaMetadata.EMPTY if not supported. | | MediaMetadata | getMediaMetadataInternal() | Deprecated. | | PlaybackParameters | getPlaybackParameters() | Deprecated.

Returns the currently active playback parameters. | | @com.google.android.exoplayer2.Player.State int | getPlaybackState() | Deprecated.

Returns the current playback state of the player. | | @com.google.android.exoplayer2.Player.PlaybackSuppressionReason int | getPlaybackSuppressionReason() | Deprecated.

Returns the reason why playback is suppressed even though Player.getPlayWhenReady() is true, or Player.PLAYBACK_SUPPRESSION_REASON_NONE if playback is not suppressed. | | PlaybackException | getPlayerError() | Deprecated.

Returns the error that caused playback to fail. | | MediaMetadata | getPlaylistMetadata() | Deprecated.

Returns the playlist MediaMetadata, as set by Player.setPlaylistMetadata(MediaMetadata), or MediaMetadata.EMPTY if not supported. | | boolean | getPlayWhenReady() | Deprecated.

Whether playback will proceed when Player.getPlaybackState() == Player.STATE_READY. | | @com.google.android.exoplayer2.Player.RepeatMode int | getRepeatMode() | Deprecated.

Returns the current Player.RepeatMode used for playback. | | long | getSeekBackIncrement() | Deprecated.

Returns the Player.seekBack() increment. | | long | getSeekForwardIncrement() | Deprecated.

Returns the Player.seekForward() increment. | | boolean | getShuffleModeEnabled() | Deprecated.

Returns whether shuffling of media items is enabled. | | Size | getSurfaceSize() | Deprecated.

This method is not supported and returns Size.UNKNOWN. | | long | getTotalBufferedDuration() | Deprecated.

Returns an estimate of the total buffered duration from the current position, in milliseconds. | | TrackSelectionParameters | getTrackSelectionParameters() | Deprecated.

Returns the parameters constraining the track selection. | | VideoSize | getVideoSize() | Deprecated.

This method is not supported and returns VideoSize.UNKNOWN. | | float | getVolume() | Deprecated.

This method is not supported and returns 1. | | void | increaseDeviceVolume() | Deprecated. Use increaseDeviceVolume(int) instead.

| | void | increaseDeviceVolume​(@com.google.android.exoplayer2.C.VolumeFlags int flags) | Deprecated.

This method is not supported and does nothing. | | boolean | isCastSessionAvailable() | Deprecated.

Returns whether a cast session is available. | | boolean | isDeviceMuted() | Deprecated.

This method is not supported and always returns false. | | boolean | isLoading() | Deprecated.

Whether the player is currently loading the source. | | boolean | isPlayingAd() | Deprecated.

Returns whether the player is currently playing an ad. | | void | moveMediaItems​(int fromIndex, int toIndex, int newIndex) | Deprecated.

Moves the media item range to the new index. | | void | prepare() | Deprecated.

Prepares the player. | | void | release() | Deprecated.

Releases the player. | | void | removeListener​(Player.Listener listener) | Deprecated.

Unregister a listener registered through Player.addListener(Listener). | | void | removeMediaItems​(int fromIndex, int toIndex) | Deprecated.

Removes a range of media items from the playlist. | | void | replaceMediaItems​(int fromIndex, int toIndex, List<MediaItem> mediaItems) | Deprecated.

Replaces the media items at the given range of the playlist. | | void | seekTo​(int mediaItemIndex, long positionMs, @com.google.android.exoplayer2.Player.Command int seekCommand, boolean isRepeatingCurrentItem) | Deprecated.

Seeks to a position in the specified MediaItem. | | void | setDeviceMuted​(boolean muted) | Deprecated. Use setDeviceMuted(boolean, int) instead.

| | void | setDeviceMuted​(boolean muted, @com.google.android.exoplayer2.C.VolumeFlags int flags) | Deprecated.

This method is not supported and does nothing. | | void | setDeviceVolume​(int volume) | Deprecated. Use setDeviceVolume(int, int) instead.

| | void | setDeviceVolume​(int volume, @com.google.android.exoplayer2.C.VolumeFlags int flags) | Deprecated.

This method is not supported and does nothing. | | void | setMediaItems​(List<MediaItem> mediaItems, boolean resetPosition) | Deprecated.

Clears the playlist and adds the specified media items. | | void | setMediaItems​(List<MediaItem> mediaItems, int startIndex, long startPositionMs) | Deprecated.

Clears the playlist and adds the specified media items. | | void | setPlaybackParameters​(PlaybackParameters playbackParameters) | Deprecated.

Attempts to set the playback parameters. | | void | setPlaylistMetadata​(MediaMetadata mediaMetadata) | Deprecated.

This method is not supported and does nothing. | | void | setPlayWhenReady​(boolean playWhenReady) | Deprecated.

Sets whether playback should proceed when Player.getPlaybackState() == Player.STATE_READY. | | void | setRepeatMode​(@com.google.android.exoplayer2.Player.RepeatMode int repeatMode) | Deprecated.

Sets the Player.RepeatMode to be used for playback. | | void | setSessionAvailabilityListener​(SessionAvailabilityListener listener) | Deprecated.

Sets a listener for updates on the cast session availability. | | void | setShuffleModeEnabled​(boolean shuffleModeEnabled) | Deprecated.

Sets whether shuffling of media items is enabled. | | void | setTrackSelectionParameters​(TrackSelectionParameters parameters) | Deprecated.

Sets the parameters constraining the track selection. | | void | setVideoSurface​(Surface surface) | Deprecated.

This method is not supported and does nothing. | | void | setVideoSurfaceHolder​(SurfaceHolder surfaceHolder) | Deprecated.

This method is not supported and does nothing. | | void | setVideoSurfaceView​(SurfaceView surfaceView) | Deprecated.

This method is not supported and does nothing. | | void | setVideoTextureView​(TextureView textureView) | Deprecated.

This method is not supported and does nothing. | | void | setVolume​(float volume) | Deprecated.

This method is not supported and does nothing. | | void | stop() | Deprecated.

Stops playback without resetting the playlist. |

- 

Methods inherited from class com.google.android.exoplayer2.BasePlayer

addMediaItem, addMediaItem, addMediaItems, canAdvertiseSession, clearMediaItems, getBufferedPercentage, getContentDuration, getCurrentLiveOffset, getCurrentManifest, getCurrentMediaItem, getCurrentWindowIndex, getMediaItemAt, getMediaItemCount, getNextMediaItemIndex, getNextWindowIndex, getPreviousMediaItemIndex, getPreviousWindowIndex, hasNext, hasNextMediaItem, hasNextWindow, hasPrevious, hasPreviousMediaItem, hasPreviousWindow, isCommandAvailable, isCurrentMediaItemDynamic, isCurrentMediaItemLive, isCurrentMediaItemSeekable, isCurrentWindowDynamic, isCurrentWindowLive, isCurrentWindowSeekable, isPlaying, moveMediaItem, next, pause, play, previous, removeMediaItem, replaceMediaItem, seekBack, seekForward, seekTo, seekTo, seekToDefaultPosition, seekToDefaultPosition, seekToNext, seekToNextMediaItem, seekToNextWindow, seekToPrevious, seekToPreviousMediaItem, seekToPreviousWindow, setMediaItem, setMediaItem, setMediaItem, setMediaItems, setPlaybackSpeed

- 

Methods inherited from class java.lang.Object

clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait

Field Detail

- 

DEVICE_INFO

public static final[DeviceInfo](../../DeviceInfo.html "class in com.google.android.exoplayer2")DEVICE_INFO

Deprecated.

The DeviceInfo returned by this player.

- 

MIN_SPEED_SUPPORTED

public static final float MIN_SPEED_SUPPORTED

Deprecated. See Also:Constant Field Values

- 

MAX_SPEED_SUPPORTED

public static final float MAX_SPEED_SUPPORTED

Deprecated. See Also:Constant Field Values

Constructor Detail

- 

CastPlayer

public CastPlayer​(com.google.android.gms.cast.framework.CastContext castContext)

Deprecated.

Creates a new cast player.

The returned player uses a DefaultMediaItemConverter and

mediaItemConverter is set to a DefaultMediaItemConverter, seekBackIncrementMs is set to C.DEFAULT_SEEK_BACK_INCREMENT_MS and seekForwardIncrementMs is set to C.DEFAULT_SEEK_FORWARD_INCREMENT_MS.

Parameters:castContext - The context from which the cast session is obtained.

- 

CastPlayer

public CastPlayer​(com.google.android.gms.cast.framework.CastContext castContext,[MediaItemConverter](MediaItemConverter.html "interface in com.google.android.exoplayer2.ext.cast")mediaItemConverter)

Deprecated.

Creates a new cast player.

seekBackIncrementMs is set to C.DEFAULT_SEEK_BACK_INCREMENT_MS and seekForwardIncrementMs is set to C.DEFAULT_SEEK_FORWARD_INCREMENT_MS.

Parameters:castContext - The context from which the cast session is obtained.mediaItemConverter - The MediaItemConverter to use.

- 

CastPlayer

public CastPlayer​(com.google.android.gms.cast.framework.CastContext castContext,[MediaItemConverter](MediaItemConverter.html "interface in com.google.android.exoplayer2.ext.cast")mediaItemConverter,
                  @IntRange(from=1L)
                  long seekBackIncrementMs,
                  @IntRange(from=1L)
                  long seekForwardIncrementMs)

Deprecated.

Creates a new cast player. Parameters:castContext - The context from which the cast session is obtained.mediaItemConverter - The MediaItemConverter to use.seekBackIncrementMs - The BasePlayer.seekBack() increment, in milliseconds.seekForwardIncrementMs - The BasePlayer.seekForward() increment, in milliseconds.Throws:IllegalArgumentException - If seekBackIncrementMs or seekForwardIncrementMs is non-positive.

Method Detail

- 

getItem

@Nullable
public com.google.android.gms.cast.MediaQueueItem getItem​(int periodId)

Deprecated.

Returns the item that corresponds to the period with the given id, or null if no media queue or period with id periodId exist. Parameters:periodId - The id of the period (getCurrentTimeline()) that corresponds to the item to get.Returns:The item that corresponds to the period with the given id, or null if no media queue or period with id periodId exist.

- 

isCastSessionAvailable

public boolean isCastSessionAvailable()

Deprecated.

Returns whether a cast session is available.

- 

setSessionAvailabilityListener

public void setSessionAvailabilityListener​(@Nullable[SessionAvailabilityListener](SessionAvailabilityListener.html "interface in com.google.android.exoplayer2.ext.cast")listener)

Deprecated.

Sets a listener for updates on the cast session availability. Parameters:listener - The SessionAvailabilityListener, or null to clear the listener.

- 

getApplicationLooper

public[Looper](https://developer.android.com/reference/android/os/Looper.html "class or interface in android.os")getApplicationLooper()

Deprecated.

Description copied from interface: Player

Returns the Looper associated with the application thread that's used to access the player and on which player events are received.

This method can be called from any thread.

- 

addListener

public void addListener​([Player.Listener](../../Player.Listener.html "interface in com.google.android.exoplayer2")listener)

Deprecated.

Description copied from interface: Player

Registers a listener to receive all events from the player.

The listener's methods will be called on the thread associated with Player.getApplicationLooper().

This method can be called from any thread.

Parameters:listener - The listener to register.

- 

removeListener

public void removeListener​([Player.Listener](../../Player.Listener.html "interface in com.google.android.exoplayer2")listener)

Deprecated.

Description copied from interface: Player

Unregister a listener registered through Player.addListener(Listener). The listener will no longer receive events. Parameters:listener - The listener to unregister.

- 

setMediaItems

public void setMediaItems​([List](https://developer.android.com/reference/java/util/List.html "class or interface in java.util")<[MediaItem](../../MediaItem.html "class in com.google.android.exoplayer2")> mediaItems,
                          boolean resetPosition)

Deprecated.

Description copied from interface: Player

Clears the playlist and adds the specified media items.

This method must only be called if Player.COMMAND_CHANGE_MEDIA_ITEMS is available.

Parameters:mediaItems - The new media items.resetPosition - Whether the playback position should be reset to the default position in the first Timeline.Window. If false, playback will start from the position defined by Player.getCurrentMediaItemIndex() and Player.getCurrentPosition().

- 

setMediaItems

public void setMediaItems​([List](https://developer.android.com/reference/java/util/List.html "class or interface in java.util")<[MediaItem](../../MediaItem.html "class in com.google.android.exoplayer2")> mediaItems,
                          int startIndex,
                          long startPositionMs)

Deprecated.

Description copied from interface: Player

Clears the playlist and adds the specified media items.

This method must only be called if Player.COMMAND_CHANGE_MEDIA_ITEMS is available.

Parameters:mediaItems - The new media items.startIndex - The MediaItem index to start playback from. If C.INDEX_UNSET is passed, the current position is not reset.startPositionMs - The position in milliseconds to start playback from. If C.TIME_UNSET is passed, the default position of the given MediaItem is used. In any case, if startIndex is set to C.INDEX_UNSET, this parameter is ignored and the position is not reset at all.

- 

addMediaItems

public void addMediaItems​(int index,[List](https://developer.android.com/reference/java/util/List.html "class or interface in java.util")<[MediaItem](../../MediaItem.html "class in com.google.android.exoplayer2")> mediaItems)

Deprecated.

Description copied from interface: Player

Adds a list of media items at the given index of the playlist.

This method must only be called if Player.COMMAND_CHANGE_MEDIA_ITEMS is available.

Parameters:index - The index at which to add the media items. If the index is larger than the size of the playlist, the media items are added to the end of the playlist.mediaItems - The media items to add.

- 

moveMediaItems

public void moveMediaItems​(int fromIndex,
                           int toIndex,
                           int newIndex)

Deprecated.

Description copied from interface: Player

Moves the media item range to the new index.

This method must only be called if Player.COMMAND_CHANGE_MEDIA_ITEMS is available.

Parameters:fromIndex - The start of the range to move. If the index is larger than the size of the playlist, the request is ignored.toIndex - The first item not to be included in the range (exclusive). If the index is larger than the size of the playlist, items up to the end of the playlist are moved.newIndex - The new index of the first media item of the range. If the new index is larger than the size of the remaining playlist after removing the range, the range is moved to the end of the playlist.

- 

replaceMediaItems

public void replaceMediaItems​(int fromIndex,
                              int toIndex,[List](https://developer.android.com/reference/java/util/List.html "class or interface in java.util")<[MediaItem](../../MediaItem.html "class in com.google.android.exoplayer2")> mediaItems)

Deprecated.

Description copied from interface: Player

Replaces the media items at the given range of the playlist.

This method must only be called if Player.COMMAND_CHANGE_MEDIA_ITEMS is available.

Note that it is possible to replace a range with an arbitrary number of new items, so that the number of removed items defined by fromIndex and toIndex does not have to match the number of added items defined by mediaItems. As result, it may also change the index of subsequent items not touched by this operation.

Parameters:fromIndex - The start of the range. If the index is larger than the size of the playlist, the request is ignored.toIndex - The first item not to be included in the range (exclusive). If the index is larger than the size of the playlist, items up to the end of the playlist are replaced.mediaItems - The media items to replace the range with.

- 

removeMediaItems

public void removeMediaItems​(int fromIndex,
                             int toIndex)

Deprecated.

Description copied from interface: Player

Removes a range of media items from the playlist.

This method must only be called if Player.COMMAND_CHANGE_MEDIA_ITEMS is available.

Parameters:fromIndex - The index at which to start removing media items. If the index is larger than the size of the playlist, the request is ignored.toIndex - The index of the first item to be kept (exclusive). If the index is larger than the size of the playlist, media items up to the end of the playlist are removed.

- 

getAvailableCommands

public[Player.Commands](../../Player.Commands.html "class in com.google.android.exoplayer2")getAvailableCommands()

Deprecated.

Description copied from interface: Player

Returns the player's currently available Player.Commands.

The returned Player.Commands are not updated when available commands change. Use Player.Listener.onAvailableCommandsChanged(Commands) to get an update when the available commands change.

Returns:The currently available Player.Commands.See Also:Player.Listener.onAvailableCommandsChanged(com.google.android.exoplayer2.Player.Commands)

- 

prepare

public void prepare()

Deprecated.

Description copied from interface: Player

Prepares the player.

This method must only be called if Player.COMMAND_PREPARE is available.

This will move the player out of idle state and the player will start loading media and acquire resources needed for playback.

- 

getPlaybackState

[@State](../../Player.State.html "annotation in com.google.android.exoplayer2")public @com.google.android.exoplayer2.Player.State int getPlaybackState()

Deprecated.

Description copied from interface: Player

Returns the current playback state of the player. Returns:The current playback state.See Also:Player.Listener.onPlaybackStateChanged(int)

- 

getPlaybackSuppressionReason

[@PlaybackSuppressionReason](../../Player.PlaybackSuppressionReason.html "annotation in com.google.android.exoplayer2")public @com.google.android.exoplayer2.Player.PlaybackSuppressionReason int getPlaybackSuppressionReason()

Deprecated.

Description copied from interface: Player

Returns the reason why playback is suppressed even though Player.getPlayWhenReady() is true, or Player.PLAYBACK_SUPPRESSION_REASON_NONE if playback is not suppressed. Returns:The current Player.PlaybackSuppressionReason.See Also:Player.Listener.onPlaybackSuppressionReasonChanged(int)

- 

getPlayerError

@Nullable
public[PlaybackException](../../PlaybackException.html "class in com.google.android.exoplayer2")getPlayerError()

Deprecated.

Description copied from interface: Player

Returns the error that caused playback to fail. This is the same error that will have been reported via Player.Listener.onPlayerError(PlaybackException) at the time of failure. It can be queried using this method until the player is re-prepared.

Note that this method will always return null if Player.getPlaybackState() is not Player.STATE_IDLE.

Returns:The error, or null.See Also:Player.Listener.onPlayerError(PlaybackException)

- 

setPlayWhenReady

public void setPlayWhenReady​(boolean playWhenReady)

Deprecated.

Description copied from interface: Player

Sets whether playback should proceed when Player.getPlaybackState() == Player.STATE_READY.

If the player is already in the ready state then this method pauses and resumes playback.

This method must only be called if Player.COMMAND_PLAY_PAUSE is available.

Parameters:playWhenReady - Whether playback should proceed when ready.

- 

getPlayWhenReady

public boolean getPlayWhenReady()

Deprecated.

Description copied from interface: Player

Whether playback will proceed when Player.getPlaybackState() == Player.STATE_READY. Returns:Whether playback will proceed when ready.See Also:Player.Listener.onPlayWhenReadyChanged(boolean, int)

- 

seekTo

public void seekTo​(int mediaItemIndex,
                   long positionMs,[@Command](../../Player.Command.html "annotation in com.google.android.exoplayer2")@com.google.android.exoplayer2.Player.Command int seekCommand,
                   boolean isRepeatingCurrentItem)

Deprecated.

Description copied from class: BasePlayer

Seeks to a position in the specified MediaItem. Specified by:seekTo in class BasePlayerParameters:mediaItemIndex - The index of the MediaItem.positionMs - The seek position in the specified MediaItem in milliseconds, or C.TIME_UNSET to seek to the media item's default position.seekCommand - The Player.Command used to trigger the seek.isRepeatingCurrentItem - Whether this seeks repeats the current item.

- 

getSeekBackIncrement

public long getSeekBackIncrement()

Deprecated.

Description copied from interface: Player

Returns the Player.seekBack() increment. Returns:The seek back increment, in milliseconds.See Also:Player.Listener.onSeekBackIncrementChanged(long)

- 

getSeekForwardIncrement

public long getSeekForwardIncrement()

Deprecated.

Description copied from interface: Player

Returns the Player.seekForward() increment. Returns:The seek forward increment, in milliseconds.See Also:Player.Listener.onSeekForwardIncrementChanged(long)

- 

getMaxSeekToPreviousPosition

public long getMaxSeekToPreviousPosition()

Deprecated.

Description copied from interface: Player

Returns the maximum position for which Player.seekToPrevious() seeks to the previous MediaItem, in milliseconds. Returns:The maximum seek to previous position, in milliseconds.See Also:Player.Listener.onMaxSeekToPreviousPositionChanged(long)

- 

getPlaybackParameters

public[PlaybackParameters](../../PlaybackParameters.html "class in com.google.android.exoplayer2")getPlaybackParameters()

Deprecated.

Description copied from interface: Player

Returns the currently active playback parameters. See Also:Player.Listener.onPlaybackParametersChanged(PlaybackParameters)

- 

stop

public void stop()

Deprecated.

Description copied from interface: Player

Stops playback without resetting the playlist. Use Player.pause() rather than this method if the intention is to pause playback.

Calling this method will cause the playback state to transition to Player.STATE_IDLE and the player will release the loaded media and resources required for playback. The player instance can still be used by calling Player.prepare() again, and Player.release() must still be called on the player if it's no longer required.

Calling this method does not clear the playlist, reset the playback position or the playback error.

This method must only be called if Player.COMMAND_STOP is available.

- 

release

public void release()

Deprecated.

Description copied from interface: Player

Releases the player. This method must be called when the player is no longer required. The player must not be used after calling this method.

This method must only be called if Player.COMMAND_RELEASE is available.

- 

setPlaybackParameters

public void setPlaybackParameters​([PlaybackParameters](../../PlaybackParameters.html "class in com.google.android.exoplayer2")playbackParameters)

Deprecated.

Description copied from interface: Player

Attempts to set the playback parameters. Passing PlaybackParameters.DEFAULT resets the player to the default, which means there is no speed or pitch adjustment.

Playback parameters changes may cause the player to buffer. Player.Listener.onPlaybackParametersChanged(PlaybackParameters) will be called whenever the currently active playback parameters change.

This method must only be called if Player.COMMAND_SET_SPEED_AND_PITCH is available.

Parameters:playbackParameters - The playback parameters.

- 

setRepeatMode

public void setRepeatMode​([@RepeatMode](../../Player.RepeatMode.html "annotation in com.google.android.exoplayer2")@com.google.android.exoplayer2.Player.RepeatMode int repeatMode)

Deprecated.

Description copied from interface: Player

Sets the Player.RepeatMode to be used for playback.

This method must only be called if Player.COMMAND_SET_REPEAT_MODE is available.

Parameters:repeatMode - The repeat mode.

- 

getRepeatMode

[@RepeatMode](../../Player.RepeatMode.html "annotation in com.google.android.exoplayer2")public @com.google.android.exoplayer2.Player.RepeatMode int getRepeatMode()

Deprecated.

Description copied from interface: Player

Returns the current Player.RepeatMode used for playback. Returns:The current repeat mode.See Also:Player.Listener.onRepeatModeChanged(int)

- 

setShuffleModeEnabled

public void setShuffleModeEnabled​(boolean shuffleModeEnabled)

Deprecated.

Description copied from interface: Player

Sets whether shuffling of media items is enabled.

This method must only be called if Player.COMMAND_SET_SHUFFLE_MODE is available.

Parameters:shuffleModeEnabled - Whether shuffling is enabled.

- 

getShuffleModeEnabled

public boolean getShuffleModeEnabled()

Deprecated.

Description copied from interface: Player

Returns whether shuffling of media items is enabled. See Also:Player.Listener.onShuffleModeEnabledChanged(boolean)

- 

getCurrentTracks

public[Tracks](../../Tracks.html "class in com.google.android.exoplayer2")getCurrentTracks()

Deprecated.

Description copied from interface: Player

Returns the current tracks.

This method must only be called if Player.COMMAND_GET_TRACKS is available.

See Also:Player.Listener.onTracksChanged(Tracks)

- 

getTrackSelectionParameters

public[TrackSelectionParameters](../../trackselection/TrackSelectionParameters.html "class in com.google.android.exoplayer2.trackselection")getTrackSelectionParameters()

Deprecated.

Description copied from interface: Player

Returns the parameters constraining the track selection. See Also:}

- 

setTrackSelectionParameters

public void setTrackSelectionParameters​([TrackSelectionParameters](../../trackselection/TrackSelectionParameters.html "class in com.google.android.exoplayer2.trackselection")parameters)

Deprecated.

Description copied from interface: Player

Sets the parameters constraining the track selection.

Unsupported parameters will be silently ignored.

Use Player.getTrackSelectionParameters() to retrieve the current parameters. For example, the following snippet restricts video to SD whilst keep other track selection parameters unchanged:

player.setTrackSelectionParameters(
   player.getTrackSelectionParameters()
         .buildUpon()
         .setMaxVideoSizeSd()
         .build())

This method must only be called if Player.COMMAND_SET_TRACK_SELECTION_PARAMETERS is available.

- 

getMediaMetadata

public[MediaMetadata](../../MediaMetadata.html "class in com.google.android.exoplayer2")getMediaMetadata()

Deprecated.

Description copied from interface: Player

Returns the current combined MediaMetadata, or MediaMetadata.EMPTY if not supported.

This MediaMetadata is a combination of the MediaItem metadata, the static metadata in the media's Format, and any timed metadata that has been parsed from the media and output via Player.Listener.onMetadata(Metadata). If a field is populated in the MediaItem.mediaMetadata, it will be prioritised above the same field coming from static or timed metadata.

This method must only be called if Player.COMMAND_GET_METADATA is available.

- 

getMediaMetadataInternal

public[MediaMetadata](../../MediaMetadata.html "class in com.google.android.exoplayer2")getMediaMetadataInternal()

Deprecated.

- 

getPlaylistMetadata

public[MediaMetadata](../../MediaMetadata.html "class in com.google.android.exoplayer2")getPlaylistMetadata()

Deprecated.

Description copied from interface: Player

Returns the playlist MediaMetadata, as set by Player.setPlaylistMetadata(MediaMetadata), or MediaMetadata.EMPTY if not supported.

This method must only be called if Player.COMMAND_GET_METADATA is available.

- 

setPlaylistMetadata

public void setPlaylistMetadata​([MediaMetadata](../../MediaMetadata.html "class in com.google.android.exoplayer2")mediaMetadata)

Deprecated.

This method is not supported and does nothing.

- 

getCurrentTimeline

public[Timeline](../../Timeline.html "class in com.google.android.exoplayer2")getCurrentTimeline()

Deprecated.

Description copied from interface: Player

Returns the current Timeline. Never null, but may be empty.

This method must only be called if Player.COMMAND_GET_TIMELINE is available.

See Also:Player.Listener.onTimelineChanged(Timeline, int)

- 

getCurrentPeriodIndex

public int getCurrentPeriodIndex()

Deprecated.

Description copied from interface: Player

Returns the index of the period currently being played.

This method must only be called if Player.COMMAND_GET_TIMELINE is available.

- 

getCurrentMediaItemIndex

public int getCurrentMediaItemIndex()

Deprecated.

Description copied from interface: Player

Returns the index of the current MediaItem in the timeline, or the prospective index if the current timeline is empty.

This method must only be called if Player.COMMAND_GET_TIMELINE is available.

- 

getDuration

public long getDuration()

Deprecated.

Description copied from interface: Player

Returns the duration of the current content or ad in milliseconds, or C.TIME_UNSET if the duration is not known.

This method must only be called if Player.COMMAND_GET_CURRENT_MEDIA_ITEM is available.

- 

getCurrentPosition

public long getCurrentPosition()

Deprecated.

Description copied from interface: Player

Returns the playback position in the current content or ad, in milliseconds, or the prospective position in milliseconds if the current timeline is empty.

This method must only be called if Player.COMMAND_GET_CURRENT_MEDIA_ITEM is available.

- 

getBufferedPosition

public long getBufferedPosition()

Deprecated.

Description copied from interface: Player

Returns an estimate of the position in the current content or ad up to which data is buffered, in milliseconds.

This method must only be called if Player.COMMAND_GET_CURRENT_MEDIA_ITEM is available.

- 

getTotalBufferedDuration

public long getTotalBufferedDuration()

Deprecated.

Description copied from interface: Player

Returns an estimate of the total buffered duration from the current position, in milliseconds. This includes pre-buffered data for subsequent ads and media items.

This method must only be called if Player.COMMAND_GET_CURRENT_MEDIA_ITEM is available.

- 

isPlayingAd

public boolean isPlayingAd()

Deprecated.

Description copied from interface: Player

Returns whether the player is currently playing an ad.

This method must only be called if Player.COMMAND_GET_CURRENT_MEDIA_ITEM is available.

- 

getCurrentAdGroupIndex

public int getCurrentAdGroupIndex()

Deprecated.

Description copied from interface: Player

If Player.isPlayingAd() returns true, returns the index of the ad group in the period currently being played. Returns C.INDEX_UNSET otherwise.

This method must only be called if Player.COMMAND_GET_CURRENT_MEDIA_ITEM is available.

- 

getCurrentAdIndexInAdGroup

public int getCurrentAdIndexInAdGroup()

Deprecated.

Description copied from interface: Player

If Player.isPlayingAd() returns true, returns the index of the ad in its ad group. Returns C.INDEX_UNSET otherwise.

This method must only be called if Player.COMMAND_GET_CURRENT_MEDIA_ITEM is available.

- 

isLoading

public boolean isLoading()

Deprecated.

Description copied from interface: Player

Whether the player is currently loading the source. Returns:Whether the player is currently loading the source.See Also:Player.Listener.onIsLoadingChanged(boolean)

- 

getContentPosition

public long getContentPosition()

Deprecated.

Description copied from interface: Player

If Player.isPlayingAd() returns true, returns the content position that will be played once all ads in the ad group have finished playing, in milliseconds. If there is no ad playing, the returned position is the same as that returned by Player.getCurrentPosition().

This method must only be called if Player.COMMAND_GET_CURRENT_MEDIA_ITEM is available.

- 

getContentBufferedPosition

public long getContentBufferedPosition()

Deprecated.

Description copied from interface: Player

If Player.isPlayingAd() returns true, returns an estimate of the content position in the current content up to which data is buffered, in milliseconds. If there is no ad playing, the returned position is the same as that returned by Player.getBufferedPosition().

This method must only be called if Player.COMMAND_GET_CURRENT_MEDIA_ITEM is available.

- 

getAudioAttributes

public[AudioAttributes](../../audio/AudioAttributes.html "class in com.google.android.exoplayer2.audio")getAudioAttributes()

Deprecated.

This method is not supported and returns AudioAttributes.DEFAULT.

- 

setVolume

public void setVolume​(float volume)

Deprecated.

This method is not supported and does nothing. Parameters:volume - Linear output gain to apply to all audio channels.

- 

getVolume

public float getVolume()

Deprecated.

This method is not supported and returns 1. Returns:The linear gain applied to all audio channels.

- 

clearVideoSurface

public void clearVideoSurface()

Deprecated.

This method is not supported and does nothing.

- 

clearVideoSurface

public void clearVideoSurface​(@Nullable[Surface](https://developer.android.com/reference/android/view/Surface.html "class or interface in android.view")surface)

Deprecated.

This method is not supported and does nothing. Parameters:surface - The surface to clear.

- 

setVideoSurface

public void setVideoSurface​(@Nullable[Surface](https://developer.android.com/reference/android/view/Surface.html "class or interface in android.view")surface)

Deprecated.

This method is not supported and does nothing. Parameters:surface - The Surface.

- 

setVideoSurfaceHolder

public void setVideoSurfaceHolder​(@Nullable[SurfaceHolder](https://developer.android.com/reference/android/view/SurfaceHolder.html "class or interface in android.view")surfaceHolder)

Deprecated.

This method is not supported and does nothing. Parameters:surfaceHolder - The surface holder.

- 

clearVideoSurfaceHolder

public void clearVideoSurfaceHolder​(@Nullable[SurfaceHolder](https://developer.android.com/reference/android/view/SurfaceHolder.html "class or interface in android.view")surfaceHolder)

Deprecated.

This method is not supported and does nothing. Parameters:surfaceHolder - The surface holder to clear.

- 

setVideoSurfaceView

public void setVideoSurfaceView​(@Nullable[SurfaceView](https://developer.android.com/reference/android/view/SurfaceView.html "class or interface in android.view")surfaceView)

Deprecated.

This method is not supported and does nothing. Parameters:surfaceView - The surface view.

- 

clearVideoSurfaceView

public void clearVideoSurfaceView​(@Nullable[SurfaceView](https://developer.android.com/reference/android/view/SurfaceView.html "class or interface in android.view")surfaceView)

Deprecated.

This method is not supported and does nothing. Parameters:surfaceView - The texture view to clear.

- 

setVideoTextureView

public void setVideoTextureView​(@Nullable[TextureView](https://developer.android.com/reference/android/view/TextureView.html "class or interface in android.view")textureView)

Deprecated.

This method is not supported and does nothing. Parameters:textureView - The texture view.

- 

clearVideoTextureView

public void clearVideoTextureView​(@Nullable[TextureView](https://developer.android.com/reference/android/view/TextureView.html "class or interface in android.view")textureView)

Deprecated.

This method is not supported and does nothing. Parameters:textureView - The texture view to clear.

- 

getVideoSize

public[VideoSize](../../video/VideoSize.html "class in com.google.android.exoplayer2.video")getVideoSize()

Deprecated.

This method is not supported and returns VideoSize.UNKNOWN. See Also:Player.Listener.onVideoSizeChanged(VideoSize)

- 

getSurfaceSize

public[Size](../../util/Size.html "class in com.google.android.exoplayer2.util")getSurfaceSize()

Deprecated.

This method is not supported and returns Size.UNKNOWN. See Also:Player.Listener.onSurfaceSizeChanged(int, int)

- 

getCurrentCues

public[CueGroup](../../text/CueGroup.html "class in com.google.android.exoplayer2.text")getCurrentCues()

Deprecated.

This method is not supported and returns an empty CueGroup.

- 

getDeviceInfo

public[DeviceInfo](../../DeviceInfo.html "class in com.google.android.exoplayer2")getDeviceInfo()

Deprecated.

This method always returns DEVICE_INFO.

- 

getDeviceVolume

public int getDeviceVolume()

Deprecated.

This method is not supported and always returns 0.

- 

isDeviceMuted

public boolean isDeviceMuted()

Deprecated.

This method is not supported and always returns false.

- 

setDeviceVolume

[@Deprecated](https://developer.android.com/reference/java/lang/Deprecated.html "class or interface in java.lang")public void setDeviceVolume​(int volume)

Deprecated. Use setDeviceVolume(int, int) instead.

- 

setDeviceVolume

public void setDeviceVolume​(int volume,
                            @com.google.android.exoplayer2.C.VolumeFlags int flags)

Deprecated.

This method is not supported and does nothing. Parameters:volume - The volume to set.flags - Either 0 or a bitwise combination of one or more C.VolumeFlags.

- 

increaseDeviceVolume

[@Deprecated](https://developer.android.com/reference/java/lang/Deprecated.html "class or interface in java.lang")public void increaseDeviceVolume()

Deprecated. Use increaseDeviceVolume(int) instead.

- 

increaseDeviceVolume

public void increaseDeviceVolume​(@com.google.android.exoplayer2.C.VolumeFlags int flags)

Deprecated.

This method is not supported and does nothing. Parameters:flags - Either 0 or a bitwise combination of one or more C.VolumeFlags.

- 

decreaseDeviceVolume

[@Deprecated](https://developer.android.com/reference/java/lang/Deprecated.html "class or interface in java.lang")public void decreaseDeviceVolume()

Deprecated. Use decreaseDeviceVolume(int) instead.

- 

decreaseDeviceVolume

public void decreaseDeviceVolume​(@com.google.android.exoplayer2.C.VolumeFlags int flags)

Deprecated.

This method is not supported and does nothing. Parameters:flags - Either 0 or a bitwise combination of one or more C.VolumeFlags.

- 

setDeviceMuted

[@Deprecated](https://developer.android.com/reference/java/lang/Deprecated.html "class or interface in java.lang")public void setDeviceMuted​(boolean muted)

Deprecated. Use setDeviceMuted(boolean, int) instead.

- 

setDeviceMuted

public void setDeviceMuted​(boolean muted,
                           @com.google.android.exoplayer2.C.VolumeFlags int flags)

Deprecated.

This method is not supported and does nothing. Parameters:muted - Whether to set the device to be muted or notflags - Either 0 or a bitwise combination of one or more C.VolumeFlags.