Class SimpleBasePlayer
- java.lang.Object
-
- com.google.android.exoplayer2.BasePlayer
-
- com.google.android.exoplayer2.SimpleBasePlayer
-
- All Implemented Interfaces:
Player
@Deprecated public abstract class SimpleBasePlayer extends BasePlayer
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.A base implementation forPlayer
that reduces the number of methods to implement to a minimum.Implementation notes:
- Subclasses must override
getState()
to populate the current player state on request. - The
SimpleBasePlayer.State
should set the available commands to indicate whichPlayer
methods are supported. - All setter-like player methods (for example,
setPlayWhenReady(boolean)
) forward to overridable methods (for example,handleSetPlayWhenReady(boolean)
) that can be used to handle these requests. These methods return aListenableFuture
to indicate when the request has been handled and is fully reflected in the values returned fromgetState()
. This class will automatically request a state update once the request is done. If the state changes can be handled synchronously, these methods can return Guava'sFutures.immediateVoidFuture()
. - Subclasses can manually trigger state updates with
invalidateState()
, for example if something changes independent ofPlayer
method calls.
- The
SimpleBasePlayer.State
can only be created with allowed combinations of state values, avoiding any invalid player states. - Only functionality that is declared as available needs to be implemented. Other methods are automatically ignored.
- Listener handling and informing listeners of state changes is handled automatically.
- The base class provides a framework for asynchronous handling of method calls. It changes the visible playback state immediately to the most likely outcome to ensure the user-visible state changes look like synchronous operations. The state is then updated again once the asynchronous method calls have been fully handled.
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description protected static class
SimpleBasePlayer.MediaItemData
Deprecated.An immutable description of an item in the playlist, containing both static setup information likeMediaItem
and dynamic data that is generally read from the media like the duration.protected static class
SimpleBasePlayer.PeriodData
Deprecated.Data describing the properties of a period inside aSimpleBasePlayer.MediaItemData
.protected static interface
SimpleBasePlayer.PositionSupplier
Deprecated.A supplier for a position.protected static class
SimpleBasePlayer.State
Deprecated.An immutable state description of the player.-
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.TimelineChangeReason
-
-
Field Summary
-
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 Modifier Constructor Description protected
SimpleBasePlayer(Looper applicationLooper)
Deprecated.Creates the base class.protected
SimpleBasePlayer(Looper applicationLooper, Clock clock)
Deprecated.Creates the base class.
-
Method Summary
All Methods Instance Methods Abstract 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.void
clearVideoSurface(Surface surface)
Deprecated.Clears theSurface
onto which video is being rendered if it matches the one passed.void
clearVideoSurfaceHolder(SurfaceHolder surfaceHolder)
Deprecated.Clears theSurfaceHolder
that holds theSurface
onto which video is being rendered if it matches the one passed.void
clearVideoSurfaceView(SurfaceView surfaceView)
Deprecated.Clears theSurfaceView
onto which video is being rendered if it matches the one passed.void
clearVideoTextureView(TextureView textureView)
Deprecated.Clears theTextureView
onto which video is being rendered if it matches the one passed.void
decreaseDeviceVolume()
Deprecated.UsedecreaseDeviceVolume(int)
instead.void
decreaseDeviceVolume(@com.google.android.exoplayer2.C.VolumeFlags int flags)
Deprecated.Decreases the volume of the device.Looper
getApplicationLooper()
Deprecated.Returns theLooper
associated with the application thread that's used to access the player and on which player events are received.AudioAttributes
getAudioAttributes()
Deprecated.Returns the attributes for audio playback.Player.Commands
getAvailableCommands()
Deprecated.Returns the player's currently availablePlayer.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.IfPlayer.isPlayingAd()
returnstrue
, returns an estimate of the content position in the current content up to which data is buffered, in milliseconds.long
getContentPosition()
Deprecated.IfPlayer.isPlayingAd()
returnstrue
, returns the content position that will be played once all ads in the ad group have finished playing, in milliseconds.int
getCurrentAdGroupIndex()
Deprecated.IfPlayer.isPlayingAd()
returns true, returns the index of the ad group in the period currently being played.int
getCurrentAdIndexInAdGroup()
Deprecated.IfPlayer.isPlayingAd()
returns true, returns the index of the ad in its ad group.CueGroup
getCurrentCues()
Deprecated.Returns the currentCueGroup
.int
getCurrentMediaItemIndex()
Deprecated.Returns the index of the currentMediaItem
in thetimeline
, or the prospective index if thecurrent 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 thecurrent timeline
is empty.Timeline
getCurrentTimeline()
Deprecated.Returns the currentTimeline
.Tracks
getCurrentTracks()
Deprecated.Returns the current tracks.DeviceInfo
getDeviceInfo()
Deprecated.Gets the device information.int
getDeviceVolume()
Deprecated.Gets the current volume of the device.long
getDuration()
Deprecated.Returns the duration of the current content or ad in milliseconds, orC.TIME_UNSET
if the duration is not known.long
getMaxSeekToPreviousPosition()
Deprecated.Returns the maximum position for whichPlayer.seekToPrevious()
seeks to the previousMediaItem
, in milliseconds.MediaMetadata
getMediaMetadata()
Deprecated.Returns the current combinedMediaMetadata
, orMediaMetadata.EMPTY
if not supported.protected SimpleBasePlayer.MediaItemData
getPlaceholderMediaItemData(MediaItem mediaItem)
Deprecated.Returns the placeholderSimpleBasePlayer.MediaItemData
used for a newMediaItem
added to the playlist.protected SimpleBasePlayer.State
getPlaceholderState(SimpleBasePlayer.State suggestedPlaceholderState)
Deprecated.Returns the placeholder state used while a player method is handled asynchronously.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.int
getPlaybackSuppressionReason()
Deprecated.Returns the reason why playback is suppressed even thoughPlayer.getPlayWhenReady()
istrue
, orPlayer.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 playlistMediaMetadata
, as set byPlayer.setPlaylistMetadata(MediaMetadata)
, orMediaMetadata.EMPTY
if not supported.boolean
getPlayWhenReady()
Deprecated.Whether playback will proceed whenPlayer.getPlaybackState()
==Player.STATE_READY
.@com.google.android.exoplayer2.Player.RepeatMode int
getRepeatMode()
Deprecated.Returns the currentPlayer.RepeatMode
used for playback.long
getSeekBackIncrement()
Deprecated.Returns thePlayer.seekBack()
increment.long
getSeekForwardIncrement()
Deprecated.Returns thePlayer.seekForward()
increment.boolean
getShuffleModeEnabled()
Deprecated.Returns whether shuffling of media items is enabled.protected abstract SimpleBasePlayer.State
getState()
Deprecated.Returns the currentSimpleBasePlayer.State
of the player.Size
getSurfaceSize()
Deprecated.Gets the size of the surface on which the video is rendered.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.Gets the size of the video.float
getVolume()
Deprecated.Returns the audio volume, with 0 being silence and 1 being unity gain (signal unchanged).protected ListenableFuture<?>
handleAddMediaItems(int index, List<MediaItem> mediaItems)
Deprecated.protected ListenableFuture<?>
handleClearVideoOutput(Object videoOutput)
Deprecated.Handles calls to clear the video output.protected ListenableFuture<?>
handleDecreaseDeviceVolume(@com.google.android.exoplayer2.C.VolumeFlags int flags)
Deprecated.Handles calls toPlayer.decreaseDeviceVolume()
andPlayer.decreaseDeviceVolume(int)
.protected ListenableFuture<?>
handleIncreaseDeviceVolume(@com.google.android.exoplayer2.C.VolumeFlags int flags)
Deprecated.Handles calls toPlayer.increaseDeviceVolume()
andPlayer.increaseDeviceVolume(int)
.protected ListenableFuture<?>
handleMoveMediaItems(int fromIndex, int toIndex, int newIndex)
Deprecated.Handles calls toPlayer.moveMediaItem(int, int)
andPlayer.moveMediaItems(int, int, int)
.protected ListenableFuture<?>
handlePrepare()
Deprecated.Handles calls toPlayer.prepare()
.protected ListenableFuture<?>
handleRelease()
Deprecated.Handles calls toPlayer.release()
.protected ListenableFuture<?>
handleRemoveMediaItems(int fromIndex, int toIndex)
Deprecated.Handles calls toPlayer.removeMediaItem(int)
andPlayer.removeMediaItems(int, int)
.protected ListenableFuture<?>
handleReplaceMediaItems(int fromIndex, int toIndex, List<MediaItem> mediaItems)
Deprecated.protected ListenableFuture<?>
handleSeek(int mediaItemIndex, long positionMs, @com.google.android.exoplayer2.Player.Command int seekCommand)
Deprecated.Handles calls toPlayer.seekTo(long)
and other seek operations (for example,Player.seekToNext()
).protected ListenableFuture<?>
handleSetDeviceMuted(boolean muted, @com.google.android.exoplayer2.C.VolumeFlags int flags)
Deprecated.Handles calls toPlayer.setDeviceMuted(boolean)
andPlayer.setDeviceMuted(boolean, int)
.protected ListenableFuture<?>
handleSetDeviceVolume(int deviceVolume, int flags)
Deprecated.Handles calls toPlayer.setDeviceVolume(int)
andPlayer.setDeviceVolume(int, int)
.protected ListenableFuture<?>
handleSetMediaItems(List<MediaItem> mediaItems, int startIndex, long startPositionMs)
Deprecated.protected ListenableFuture<?>
handleSetPlaybackParameters(PlaybackParameters playbackParameters)
Deprecated.protected ListenableFuture<?>
handleSetPlaylistMetadata(MediaMetadata playlistMetadata)
Deprecated.Handles calls toPlayer.setPlaylistMetadata(com.google.android.exoplayer2.MediaMetadata)
.protected ListenableFuture<?>
handleSetPlayWhenReady(boolean playWhenReady)
Deprecated.protected ListenableFuture<?>
handleSetRepeatMode(@com.google.android.exoplayer2.Player.RepeatMode int repeatMode)
Deprecated.protected ListenableFuture<?>
handleSetShuffleModeEnabled(boolean shuffleModeEnabled)
Deprecated.Handles calls toPlayer.setShuffleModeEnabled(boolean)
.protected ListenableFuture<?>
handleSetTrackSelectionParameters(TrackSelectionParameters trackSelectionParameters)
Deprecated.protected ListenableFuture<?>
handleSetVideoOutput(Object videoOutput)
Deprecated.Handles calls to set the video output.protected ListenableFuture<?>
handleSetVolume(float volume)
Deprecated.Handles calls toPlayer.setVolume(float)
.protected ListenableFuture<?>
handleStop()
Deprecated.Handles calls toPlayer.stop()
.void
increaseDeviceVolume()
Deprecated.UseincreaseDeviceVolume(int)
instead.void
increaseDeviceVolume(@com.google.android.exoplayer2.C.VolumeFlags int flags)
Deprecated.Increases the volume of the device.protected void
invalidateState()
Deprecated.Invalidates the current state.boolean
isDeviceMuted()
Deprecated.Gets whether the device is muted or not.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 throughPlayer.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 specifiedMediaItem
.void
setDeviceMuted(boolean muted)
Deprecated.UsesetDeviceMuted(boolean, int)
instead.void
setDeviceMuted(boolean muted, @com.google.android.exoplayer2.C.VolumeFlags int flags)
Deprecated.Sets the mute state of the device.void
setDeviceVolume(int volume)
Deprecated.UsesetDeviceVolume(int, int)
instead.void
setDeviceVolume(int volume, @com.google.android.exoplayer2.C.VolumeFlags int flags)
Deprecated.Sets the volume of the device with volume flags.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.Sets the playlistMediaMetadata
.void
setPlayWhenReady(boolean playWhenReady)
Deprecated.Sets whether playback should proceed whenPlayer.getPlaybackState()
==Player.STATE_READY
.void
setRepeatMode(@com.google.android.exoplayer2.Player.RepeatMode int repeatMode)
Deprecated.Sets thePlayer.RepeatMode
to be used for playback.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.Sets theSurface
onto which video will be rendered.void
setVideoSurfaceHolder(SurfaceHolder surfaceHolder)
Deprecated.Sets theSurfaceHolder
that holds theSurface
onto which video will be rendered.void
setVideoSurfaceView(SurfaceView surfaceView)
Deprecated.Sets theSurfaceView
onto which video will be rendered.void
setVideoTextureView(TextureView textureView)
Deprecated.Sets theTextureView
onto which video will be rendered.void
setVolume(float volume)
Deprecated.Sets the audio volume, valid values are between 0 (silence) and 1 (unity gain, signal unchanged), inclusive.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
-
-
-
-
Method Detail
-
addListener
public final void addListener(Player.Listener 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 final void removeListener(Player.Listener listener)
Deprecated.Description copied from interface:Player
Unregister a listener registered throughPlayer.addListener(Listener)
. The listener will no longer receive events.- Parameters:
listener
- The listener to unregister.
-
getApplicationLooper
public final Looper getApplicationLooper()
Deprecated.Description copied from interface:Player
Returns theLooper
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.
-
getAvailableCommands
public final Player.Commands getAvailableCommands()
Deprecated.Description copied from interface:Player
Returns the player's currently availablePlayer.Commands
.The returned
Player.Commands
are not updated when available commands change. UsePlayer.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)
-
setPlayWhenReady
public final void setPlayWhenReady(boolean playWhenReady)
Deprecated.Description copied from interface:Player
Sets whether playback should proceed whenPlayer.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 final boolean getPlayWhenReady()
Deprecated.Description copied from interface:Player
Whether playback will proceed whenPlayer.getPlaybackState()
==Player.STATE_READY
.- Returns:
- Whether playback will proceed when ready.
- See Also:
Player.Listener.onPlayWhenReadyChanged(boolean, int)
-
setMediaItems
public final void setMediaItems(List<MediaItem> 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 firstTimeline.Window
. If false, playback will start from the position defined byPlayer.getCurrentMediaItemIndex()
andPlayer.getCurrentPosition()
.
-
setMediaItems
public final void setMediaItems(List<MediaItem> 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
- TheMediaItem
index to start playback from. IfC.INDEX_UNSET
is passed, the current position is not reset.startPositionMs
- The position in milliseconds to start playback from. IfC.TIME_UNSET
is passed, the default position of the givenMediaItem
is used. In any case, ifstartIndex
is set toC.INDEX_UNSET
, this parameter is ignored and the position is not reset at all.
-
addMediaItems
public final void addMediaItems(int index, List<MediaItem> 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 final 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 final void replaceMediaItems(int fromIndex, int toIndex, List<MediaItem> 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
andtoIndex
does not have to match the number of added items defined bymediaItems
. 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 final 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.
-
prepare
public final 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 public final @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
public final int getPlaybackSuppressionReason()
Deprecated.Description copied from interface:Player
Returns the reason why playback is suppressed even thoughPlayer.getPlayWhenReady()
istrue
, orPlayer.PLAYBACK_SUPPRESSION_REASON_NONE
if playback is not suppressed.- Returns:
- The current
Player.PlaybackSuppressionReason
. - See Also:
Player.Listener.onPlaybackSuppressionReasonChanged(int)
-
getPlayerError
@Nullable public final PlaybackException 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 viaPlayer.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
ifPlayer.getPlaybackState()
is notPlayer.STATE_IDLE
.- Returns:
- The error, or
null
. - See Also:
Player.Listener.onPlayerError(PlaybackException)
-
setRepeatMode
public final void setRepeatMode(@RepeatMode @com.google.android.exoplayer2.Player.RepeatMode int repeatMode)
Deprecated.Description copied from interface:Player
Sets thePlayer.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 public final @com.google.android.exoplayer2.Player.RepeatMode int getRepeatMode()
Deprecated.Description copied from interface:Player
Returns the currentPlayer.RepeatMode
used for playback.- Returns:
- The current repeat mode.
- See Also:
Player.Listener.onRepeatModeChanged(int)
-
setShuffleModeEnabled
public final 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 final boolean getShuffleModeEnabled()
Deprecated.Description copied from interface:Player
Returns whether shuffling of media items is enabled.
-
isLoading
public final 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)
-
seekTo
public final void seekTo(int mediaItemIndex, long positionMs, @Command @com.google.android.exoplayer2.Player.Command int seekCommand, boolean isRepeatingCurrentItem)
Deprecated.Description copied from class:BasePlayer
Seeks to a position in the specifiedMediaItem
.- Specified by:
seekTo
in classBasePlayer
- Parameters:
mediaItemIndex
- The index of theMediaItem
.positionMs
- The seek position in the specifiedMediaItem
in milliseconds, orC.TIME_UNSET
to seek to the media item's default position.seekCommand
- ThePlayer.Command
used to trigger the seek.isRepeatingCurrentItem
- Whether this seeks repeats the current item.
-
getSeekBackIncrement
public final long getSeekBackIncrement()
Deprecated.Description copied from interface:Player
Returns thePlayer.seekBack()
increment.- Returns:
- The seek back increment, in milliseconds.
- See Also:
Player.Listener.onSeekBackIncrementChanged(long)
-
getSeekForwardIncrement
public final long getSeekForwardIncrement()
Deprecated.Description copied from interface:Player
Returns thePlayer.seekForward()
increment.- Returns:
- The seek forward increment, in milliseconds.
- See Also:
Player.Listener.onSeekForwardIncrementChanged(long)
-
getMaxSeekToPreviousPosition
public final long getMaxSeekToPreviousPosition()
Deprecated.Description copied from interface:Player
Returns the maximum position for whichPlayer.seekToPrevious()
seeks to the previousMediaItem
, in milliseconds.- Returns:
- The maximum seek to previous position, in milliseconds.
- See Also:
Player.Listener.onMaxSeekToPreviousPositionChanged(long)
-
setPlaybackParameters
public final void setPlaybackParameters(PlaybackParameters playbackParameters)
Deprecated.Description copied from interface:Player
Attempts to set the playback parameters. PassingPlaybackParameters.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.
-
getPlaybackParameters
public final PlaybackParameters getPlaybackParameters()
Deprecated.Description copied from interface:Player
Returns the currently active playback parameters.
-
stop
public final void stop()
Deprecated.Description copied from interface:Player
Stops playback without resetting the playlist. UsePlayer.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 callingPlayer.prepare()
again, andPlayer.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 final 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.
-
getCurrentTracks
public final Tracks 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 final TrackSelectionParameters getTrackSelectionParameters()
Deprecated.Description copied from interface:Player
Returns the parameters constraining the track selection.- See Also:
}
-
setTrackSelectionParameters
public final void setTrackSelectionParameters(TrackSelectionParameters 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 final MediaMetadata getMediaMetadata()
Deprecated.Description copied from interface:Player
Returns the current combinedMediaMetadata
, orMediaMetadata.EMPTY
if not supported.This
MediaMetadata
is a combination of theMediaItem metadata
, the static metadata in the media'sFormat
, and any timed metadata that has been parsed from the media and output viaPlayer.Listener.onMetadata(Metadata)
. If a field is populated in theMediaItem.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.
-
getPlaylistMetadata
public final MediaMetadata getPlaylistMetadata()
Deprecated.Description copied from interface:Player
Returns the playlistMediaMetadata
, as set byPlayer.setPlaylistMetadata(MediaMetadata)
, orMediaMetadata.EMPTY
if not supported.This method must only be called if
Player.COMMAND_GET_METADATA
is available.
-
setPlaylistMetadata
public final void setPlaylistMetadata(MediaMetadata mediaMetadata)
Deprecated.Description copied from interface:Player
Sets the playlistMediaMetadata
.This method must only be called if
Player.COMMAND_SET_PLAYLIST_METADATA
is available.
-
getCurrentTimeline
public final Timeline getCurrentTimeline()
Deprecated.Description copied from interface:Player
Returns the currentTimeline
. Never null, but may be empty.This method must only be called if
Player.COMMAND_GET_TIMELINE
is available.
-
getCurrentPeriodIndex
public final 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 final int getCurrentMediaItemIndex()
Deprecated.Description copied from interface:Player
Returns the index of the currentMediaItem
in thetimeline
, or the prospective index if thecurrent timeline
is empty.This method must only be called if
Player.COMMAND_GET_TIMELINE
is available.
-
getDuration
public final long getDuration()
Deprecated.Description copied from interface:Player
Returns the duration of the current content or ad in milliseconds, orC.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 final 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 thecurrent timeline
is empty.This method must only be called if
Player.COMMAND_GET_CURRENT_MEDIA_ITEM
is available.
-
getBufferedPosition
public final 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 final 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 final 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 final int getCurrentAdGroupIndex()
Deprecated.Description copied from interface:Player
IfPlayer.isPlayingAd()
returns true, returns the index of the ad group in the period currently being played. ReturnsC.INDEX_UNSET
otherwise.This method must only be called if
Player.COMMAND_GET_CURRENT_MEDIA_ITEM
is available.
-
getCurrentAdIndexInAdGroup
public final int getCurrentAdIndexInAdGroup()
Deprecated.Description copied from interface:Player
IfPlayer.isPlayingAd()
returns true, returns the index of the ad in its ad group. ReturnsC.INDEX_UNSET
otherwise.This method must only be called if
Player.COMMAND_GET_CURRENT_MEDIA_ITEM
is available.
-
getContentPosition
public final long getContentPosition()
Deprecated.Description copied from interface:Player
IfPlayer.isPlayingAd()
returnstrue
, 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 byPlayer.getCurrentPosition()
.This method must only be called if
Player.COMMAND_GET_CURRENT_MEDIA_ITEM
is available.
-
getContentBufferedPosition
public final long getContentBufferedPosition()
Deprecated.Description copied from interface:Player
IfPlayer.isPlayingAd()
returnstrue
, 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 byPlayer.getBufferedPosition()
.This method must only be called if
Player.COMMAND_GET_CURRENT_MEDIA_ITEM
is available.
-
getAudioAttributes
public final AudioAttributes getAudioAttributes()
Deprecated.Description copied from interface:Player
Returns the attributes for audio playback.This method must only be called if
Player.COMMAND_GET_AUDIO_ATTRIBUTES
is available.
-
setVolume
public final void setVolume(float volume)
Deprecated.Description copied from interface:Player
Sets the audio volume, valid values are between 0 (silence) and 1 (unity gain, signal unchanged), inclusive.This method must only be called if
Player.COMMAND_SET_VOLUME
is available.- Parameters:
volume
- Linear output gain to apply to all audio channels.
-
getVolume
public final float getVolume()
Deprecated.Description copied from interface:Player
Returns the audio volume, with 0 being silence and 1 being unity gain (signal unchanged).This method must only be called if
Player.COMMAND_GET_VOLUME
is available.- Returns:
- The linear gain applied to all audio channels.
-
setVideoSurface
public final void setVideoSurface(@Nullable Surface surface)
Deprecated.Description copied from interface:Player
Sets theSurface
onto which video will be rendered. The caller is responsible for tracking the lifecycle of the surface, and must clear the surface by callingsetVideoSurface(null)
if the surface is destroyed.If the surface is held by a
SurfaceView
,TextureView
orSurfaceHolder
then it's recommended to usePlayer.setVideoSurfaceView(SurfaceView)
,Player.setVideoTextureView(TextureView)
orPlayer.setVideoSurfaceHolder(SurfaceHolder)
rather than this method, since passing the holder allows the player to track the lifecycle of the surface automatically.This method must only be called if
Player.COMMAND_SET_VIDEO_SURFACE
is available.- Parameters:
surface
- TheSurface
.
-
setVideoSurfaceHolder
public final void setVideoSurfaceHolder(@Nullable SurfaceHolder surfaceHolder)
Deprecated.Description copied from interface:Player
Sets theSurfaceHolder
that holds theSurface
onto which video will be rendered. The player will track the lifecycle of the surface automatically.The thread that calls the
SurfaceHolder.Callback
methods must be the thread associated withPlayer.getApplicationLooper()
.This method must only be called if
Player.COMMAND_SET_VIDEO_SURFACE
is available.- Parameters:
surfaceHolder
- The surface holder.
-
setVideoSurfaceView
public final void setVideoSurfaceView(@Nullable SurfaceView surfaceView)
Deprecated.Description copied from interface:Player
Sets theSurfaceView
onto which video will be rendered. The player will track the lifecycle of the surface automatically.The thread that calls the
SurfaceHolder.Callback
methods must be the thread associated withPlayer.getApplicationLooper()
.This method must only be called if
Player.COMMAND_SET_VIDEO_SURFACE
is available.- Parameters:
surfaceView
- The surface view.
-
setVideoTextureView
public final void setVideoTextureView(@Nullable TextureView textureView)
Deprecated.Description copied from interface:Player
Sets theTextureView
onto which video will be rendered. The player will track the lifecycle of the surface automatically.The thread that calls the
TextureView.SurfaceTextureListener
methods must be the thread associated withPlayer.getApplicationLooper()
.This method must only be called if
Player.COMMAND_SET_VIDEO_SURFACE
is available.- Parameters:
textureView
- The texture view.
-
clearVideoSurface
public final void clearVideoSurface()
Deprecated.Description copied from interface:Player
Clears anySurface
,SurfaceHolder
,SurfaceView
orTextureView
currently set on the player.This method must only be called if
Player.COMMAND_SET_VIDEO_SURFACE
is available.
-
clearVideoSurface
public final void clearVideoSurface(@Nullable Surface surface)
Deprecated.Description copied from interface:Player
Clears theSurface
onto which video is being rendered if it matches the one passed. Else does nothing.This method must only be called if
Player.COMMAND_SET_VIDEO_SURFACE
is available.- Parameters:
surface
- The surface to clear.
-
clearVideoSurfaceHolder
public final void clearVideoSurfaceHolder(@Nullable SurfaceHolder surfaceHolder)
Deprecated.Description copied from interface:Player
Clears theSurfaceHolder
that holds theSurface
onto which video is being rendered if it matches the one passed. Else does nothing.This method must only be called if
Player.COMMAND_SET_VIDEO_SURFACE
is available.- Parameters:
surfaceHolder
- The surface holder to clear.
-
clearVideoSurfaceView
public final void clearVideoSurfaceView(@Nullable SurfaceView surfaceView)
Deprecated.Description copied from interface:Player
Clears theSurfaceView
onto which video is being rendered if it matches the one passed. Else does nothing.This method must only be called if
Player.COMMAND_SET_VIDEO_SURFACE
is available.- Parameters:
surfaceView
- The texture view to clear.
-
clearVideoTextureView
public final void clearVideoTextureView(@Nullable TextureView textureView)
Deprecated.Description copied from interface:Player
Clears theTextureView
onto which video is being rendered if it matches the one passed. Else does nothing.This method must only be called if
Player.COMMAND_SET_VIDEO_SURFACE
is available.- Parameters:
textureView
- The texture view to clear.
-
getVideoSize
public final VideoSize getVideoSize()
Deprecated.Description copied from interface:Player
Gets the size of the video.The video's width and height are
0
if there is no supported video track or its size has not been determined yet.
-
getSurfaceSize
public final Size getSurfaceSize()
Deprecated.Description copied from interface:Player
Gets the size of the surface on which the video is rendered.
-
getCurrentCues
public final CueGroup getCurrentCues()
Deprecated.Description copied from interface:Player
Returns the currentCueGroup
.This method must only be called if
Player.COMMAND_GET_TEXT
is available.
-
getDeviceInfo
public final DeviceInfo getDeviceInfo()
Deprecated.Description copied from interface:Player
Gets the device information.
-
getDeviceVolume
public final int getDeviceVolume()
Deprecated.Description copied from interface:Player
Gets the current volume of the device.For devices with
local playback
, the volume returned by this method varies according to the currentstream type
. The stream type is determined byAudioAttributes.usage
which can be converted to stream type withUtil.getStreamTypeForAudioUsage(int)
.For devices with
remote playback
, the volume of the remote device is returned.This method must only be called if
Player.COMMAND_GET_DEVICE_VOLUME
is available.
-
isDeviceMuted
public final boolean isDeviceMuted()
Deprecated.Description copied from interface:Player
Gets whether the device is muted or not.This method must only be called if
Player.COMMAND_GET_DEVICE_VOLUME
is available.
-
setDeviceVolume
@Deprecated public final void setDeviceVolume(int volume)
Deprecated.UsesetDeviceVolume(int, int)
instead.
-
setDeviceVolume
public final void setDeviceVolume(int volume, @com.google.android.exoplayer2.C.VolumeFlags int flags)
Deprecated.Description copied from interface:Player
Sets the volume of the device with volume flags.This method must only be called if
Player.COMMAND_SET_DEVICE_VOLUME_WITH_FLAGS
is available.- Parameters:
volume
- The volume to set.flags
- Either 0 or a bitwise combination of one or moreC.VolumeFlags
.
-
increaseDeviceVolume
@Deprecated public final void increaseDeviceVolume()
Deprecated.UseincreaseDeviceVolume(int)
instead.
-
increaseDeviceVolume
public final void increaseDeviceVolume(@com.google.android.exoplayer2.C.VolumeFlags int flags)
Deprecated.Description copied from interface:Player
Increases the volume of the device.The
Player.getDeviceVolume()
device volume cannot be increased aboveDeviceInfo.maxVolume
, if defined.This method must only be called if
Player.COMMAND_ADJUST_DEVICE_VOLUME_WITH_FLAGS
is available.- Parameters:
flags
- Either 0 or a bitwise combination of one or moreC.VolumeFlags
.
-
decreaseDeviceVolume
@Deprecated public final void decreaseDeviceVolume()
Deprecated.UsedecreaseDeviceVolume(int)
instead.
-
decreaseDeviceVolume
public final void decreaseDeviceVolume(@com.google.android.exoplayer2.C.VolumeFlags int flags)
Deprecated.Description copied from interface:Player
Decreases the volume of the device.The
Player.getDeviceVolume()
device volume cannot be decreased belowDeviceInfo.minVolume
.This method must only be called if
Player.COMMAND_ADJUST_DEVICE_VOLUME_WITH_FLAGS
is available.- Parameters:
flags
- Either 0 or a bitwise combination of one or moreC.VolumeFlags
.
-
setDeviceMuted
@Deprecated public final void setDeviceMuted(boolean muted)
Deprecated.UsesetDeviceMuted(boolean, int)
instead.
-
setDeviceMuted
public final void setDeviceMuted(boolean muted, @com.google.android.exoplayer2.C.VolumeFlags int flags)
Deprecated.Description copied from interface:Player
Sets the mute state of the device.This method must only be called if
Player.COMMAND_ADJUST_DEVICE_VOLUME_WITH_FLAGS
is available.- Parameters:
muted
- Whether to set the device to be muted or notflags
- Either 0 or a bitwise combination of one or moreC.VolumeFlags
.
-
invalidateState
protected final void invalidateState()
Deprecated.Invalidates the current state.Triggers a call to
getState()
and informs listeners if the state changed.Note that this may not have an immediate effect while there are still player methods being handled asynchronously. The state will be invalidated automatically once these pending synchronous operations are finished and there is no need to call this method again.
-
getState
@ForOverride protected abstract SimpleBasePlayer.State getState()
Deprecated.Returns the currentSimpleBasePlayer.State
of the player.The
SimpleBasePlayer.State
should include all available commands indicating which player methods are allowed to be called.Note that this method won't be called while asynchronous handling of player methods is in progress. This means that the implementation doesn't need to handle state changes caused by these asynchronous operations until they are done and can return the currently known state directly. The placeholder state used while these asynchronous operations are in progress can be customized by overriding
getPlaceholderState(State)
if required.
-
getPlaceholderState
@ForOverride protected SimpleBasePlayer.State getPlaceholderState(SimpleBasePlayer.State suggestedPlaceholderState)
Deprecated.Returns the placeholder state used while a player method is handled asynchronously.The
suggestedPlaceholderState
already contains the most likely state update, for example settingSimpleBasePlayer.State.playWhenReady
to true ifplayer.setPlayWhenReady(true)
is called, and an implementations only needs to override this method if it can determine a more accurate placeholder state.- Parameters:
suggestedPlaceholderState
- The suggested placeholderSimpleBasePlayer.State
, including the most likely outcome of handling all pending asynchronous operations.- Returns:
- The placeholder
SimpleBasePlayer.State
to use while asynchronous operations are pending.
-
getPlaceholderMediaItemData
@ForOverride protected SimpleBasePlayer.MediaItemData getPlaceholderMediaItemData(MediaItem mediaItem)
Deprecated.Returns the placeholderSimpleBasePlayer.MediaItemData
used for a newMediaItem
added to the playlist.An implementation only needs to override this method if it can determine a more accurate placeholder state than the default.
- Parameters:
mediaItem
- TheMediaItem
added to the playlist.- Returns:
- The
SimpleBasePlayer.MediaItemData
used as placeholder while adding the item to the playlist is in progress.
-
handleSetPlayWhenReady
@ForOverride protected ListenableFuture<?> handleSetPlayWhenReady(boolean playWhenReady)
Deprecated.Handles calls toPlayer.setPlayWhenReady(boolean)
,Player.play()
andPlayer.pause()
.Will only be called if
Player.COMMAND_PLAY_PAUSE
is available.- Parameters:
playWhenReady
- The requestedSimpleBasePlayer.State.playWhenReady
- Returns:
- A
ListenableFuture
indicating the completion of all immediateSimpleBasePlayer.State
changes caused by this call.
-
handlePrepare
@ForOverride protected ListenableFuture<?> handlePrepare()
Deprecated.Handles calls toPlayer.prepare()
.Will only be called if
Player.COMMAND_PREPARE
is available.- Returns:
- A
ListenableFuture
indicating the completion of all immediateSimpleBasePlayer.State
changes caused by this call.
-
handleStop
@ForOverride protected ListenableFuture<?> handleStop()
Deprecated.Handles calls toPlayer.stop()
.Will only be called if
Player.COMMAND_STOP
is available.- Returns:
- A
ListenableFuture
indicating the completion of all immediateSimpleBasePlayer.State
changes caused by this call.
-
handleRelease
@ForOverride protected ListenableFuture<?> handleRelease()
Deprecated.Handles calls toPlayer.release()
.Will only be called if
Player.COMMAND_RELEASE
is available.- Returns:
- A
ListenableFuture
indicating the completion of all immediateSimpleBasePlayer.State
changes caused by this call.
-
handleSetRepeatMode
@ForOverride protected ListenableFuture<?> handleSetRepeatMode(@RepeatMode @com.google.android.exoplayer2.Player.RepeatMode int repeatMode)
Deprecated.Handles calls toPlayer.setRepeatMode(@com.google.android.exoplayer2.Player.RepeatMode int)
.Will only be called if
Player.COMMAND_SET_REPEAT_MODE
is available.- Parameters:
repeatMode
- The requestedPlayer.RepeatMode
.- Returns:
- A
ListenableFuture
indicating the completion of all immediateSimpleBasePlayer.State
changes caused by this call.
-
handleSetShuffleModeEnabled
@ForOverride protected ListenableFuture<?> handleSetShuffleModeEnabled(boolean shuffleModeEnabled)
Deprecated.Handles calls toPlayer.setShuffleModeEnabled(boolean)
.Will only be called if
Player.COMMAND_SET_SHUFFLE_MODE
is available.- Parameters:
shuffleModeEnabled
- Whether shuffle mode was requested to be enabled.- Returns:
- A
ListenableFuture
indicating the completion of all immediateSimpleBasePlayer.State
changes caused by this call.
-
handleSetPlaybackParameters
@ForOverride protected ListenableFuture<?> handleSetPlaybackParameters(PlaybackParameters playbackParameters)
Deprecated.Handles calls toPlayer.setPlaybackParameters(com.google.android.exoplayer2.PlaybackParameters)
orPlayer.setPlaybackSpeed(float)
.Will only be called if
Player.COMMAND_SET_SPEED_AND_PITCH
is available.- Parameters:
playbackParameters
- The requestedPlaybackParameters
.- Returns:
- A
ListenableFuture
indicating the completion of all immediateSimpleBasePlayer.State
changes caused by this call.
-
handleSetTrackSelectionParameters
@ForOverride protected ListenableFuture<?> handleSetTrackSelectionParameters(TrackSelectionParameters trackSelectionParameters)
Deprecated.Handles calls toPlayer.setTrackSelectionParameters(com.google.android.exoplayer2.trackselection.TrackSelectionParameters)
.Will only be called if
Player.COMMAND_SET_TRACK_SELECTION_PARAMETERS
is available.- Parameters:
trackSelectionParameters
- The requestedTrackSelectionParameters
.- Returns:
- A
ListenableFuture
indicating the completion of all immediateSimpleBasePlayer.State
changes caused by this call.
-
handleSetPlaylistMetadata
@ForOverride protected ListenableFuture<?> handleSetPlaylistMetadata(MediaMetadata playlistMetadata)
Deprecated.Handles calls toPlayer.setPlaylistMetadata(com.google.android.exoplayer2.MediaMetadata)
.Will only be called if
Player.COMMAND_SET_PLAYLIST_METADATA
is available.- Parameters:
playlistMetadata
- The requested playlist metadata.- Returns:
- A
ListenableFuture
indicating the completion of all immediateSimpleBasePlayer.State
changes caused by this call.
-
handleSetVolume
@ForOverride protected ListenableFuture<?> handleSetVolume(@FloatRange(from=0.0,to=1.0) float volume)
Deprecated.Handles calls toPlayer.setVolume(float)
.Will only be called if
Player.COMMAND_SET_VOLUME
is available.- Parameters:
volume
- The requested audio volume, with 0 being silence and 1 being unity gain (signal unchanged).- Returns:
- A
ListenableFuture
indicating the completion of all immediateSimpleBasePlayer.State
changes caused by this call.
-
handleSetDeviceVolume
@ForOverride protected ListenableFuture<?> handleSetDeviceVolume(@IntRange(from=0L) int deviceVolume, int flags)
Deprecated.Handles calls toPlayer.setDeviceVolume(int)
andPlayer.setDeviceVolume(int, int)
.Will only be called if
Player.COMMAND_SET_DEVICE_VOLUME
orPlayer.COMMAND_SET_DEVICE_VOLUME_WITH_FLAGS
is available.- Parameters:
deviceVolume
- The requested device volume.flags
- Either 0 or a bitwise combination of one or moreC.VolumeFlags
.- Returns:
- A
ListenableFuture
indicating the completion of all immediateSimpleBasePlayer.State
changes caused by this call.
-
handleIncreaseDeviceVolume
@ForOverride protected ListenableFuture<?> handleIncreaseDeviceVolume(@com.google.android.exoplayer2.C.VolumeFlags int flags)
Deprecated.Handles calls toPlayer.increaseDeviceVolume()
andPlayer.increaseDeviceVolume(int)
.Will only be called if
Player.COMMAND_ADJUST_DEVICE_VOLUME
orPlayer.COMMAND_ADJUST_DEVICE_VOLUME_WITH_FLAGS
is available.- Parameters:
flags
- Either 0 or a bitwise combination of one or moreC.VolumeFlags
.- Returns:
- A
ListenableFuture
indicating the completion of all immediateSimpleBasePlayer.State
changes caused by this call.
-
handleDecreaseDeviceVolume
@ForOverride protected ListenableFuture<?> handleDecreaseDeviceVolume(@com.google.android.exoplayer2.C.VolumeFlags int flags)
Deprecated.Handles calls toPlayer.decreaseDeviceVolume()
andPlayer.decreaseDeviceVolume(int)
.Will only be called if
Player.COMMAND_ADJUST_DEVICE_VOLUME
orPlayer.COMMAND_ADJUST_DEVICE_VOLUME_WITH_FLAGS
is available.- Parameters:
flags
- Either 0 or a bitwise combination of one or moreC.VolumeFlags
.- Returns:
- A
ListenableFuture
indicating the completion of all immediateSimpleBasePlayer.State
changes caused by this call.
-
handleSetDeviceMuted
@ForOverride protected ListenableFuture<?> handleSetDeviceMuted(boolean muted, @com.google.android.exoplayer2.C.VolumeFlags int flags)
Deprecated.Handles calls toPlayer.setDeviceMuted(boolean)
andPlayer.setDeviceMuted(boolean, int)
.Will only be called if
Player.COMMAND_ADJUST_DEVICE_VOLUME
orPlayer.COMMAND_ADJUST_DEVICE_VOLUME
is available.- Parameters:
muted
- Whether the device was requested to be muted.flags
- Either 0 or a bitwise combination of one or moreC.VolumeFlags
.- Returns:
- A
ListenableFuture
indicating the completion of all immediateSimpleBasePlayer.State
changes caused by this call.
-
handleSetVideoOutput
@ForOverride protected ListenableFuture<?> handleSetVideoOutput(Object videoOutput)
Deprecated.Handles calls to set the video output.Will only be called if
Player.COMMAND_SET_VIDEO_SURFACE
is available.- Parameters:
videoOutput
- The requested video output. This is either aSurface
,SurfaceHolder
,TextureView
orSurfaceView
.- Returns:
- A
ListenableFuture
indicating the completion of all immediateSimpleBasePlayer.State
changes caused by this call.
-
handleClearVideoOutput
@ForOverride protected ListenableFuture<?> handleClearVideoOutput(@Nullable Object videoOutput)
Deprecated.Handles calls to clear the video output.Will only be called if
Player.COMMAND_SET_VIDEO_SURFACE
is available.- Parameters:
videoOutput
- The video output to clear. If null any current output should be cleared. If non-null, the output should only be cleared if it matches the provided argument. This is either aSurface
,SurfaceHolder
,TextureView
orSurfaceView
.- Returns:
- A
ListenableFuture
indicating the completion of all immediateSimpleBasePlayer.State
changes caused by this call.
-
handleSetMediaItems
@ForOverride protected ListenableFuture<?> handleSetMediaItems(List<MediaItem> mediaItems, int startIndex, long startPositionMs)
Deprecated.Handles calls toPlayer.setMediaItem(com.google.android.exoplayer2.MediaItem)
andPlayer.setMediaItems(java.util.List<com.google.android.exoplayer2.MediaItem>)
.Will only be called if
Player.COMMAND_SET_MEDIA_ITEM
orPlayer.COMMAND_CHANGE_MEDIA_ITEMS
is available. If onlyPlayer.COMMAND_SET_MEDIA_ITEM
is available, the list of media items will always contain exactly one item.- Parameters:
mediaItems
- The media items to add.startIndex
- The index at which to start playback from, orC.INDEX_UNSET
to start at the default item.startPositionMs
- The position in milliseconds to start playback from, orC.TIME_UNSET
to start at the default position in the media item.- Returns:
- A
ListenableFuture
indicating the completion of all immediateSimpleBasePlayer.State
changes caused by this call.
-
handleAddMediaItems
@ForOverride protected ListenableFuture<?> handleAddMediaItems(int index, List<MediaItem> mediaItems)
Deprecated.Handles calls toPlayer.addMediaItem(com.google.android.exoplayer2.MediaItem)
andPlayer.addMediaItems(java.util.List<com.google.android.exoplayer2.MediaItem>)
.Will only be called if
Player.COMMAND_CHANGE_MEDIA_ITEMS
is available.- Parameters:
index
- The index at which to add the items. The index is in the range 0 <=index
<=BasePlayer.getMediaItemCount()
.mediaItems
- The media items to add.- Returns:
- A
ListenableFuture
indicating the completion of all immediateSimpleBasePlayer.State
changes caused by this call.
-
handleMoveMediaItems
@ForOverride protected ListenableFuture<?> handleMoveMediaItems(int fromIndex, int toIndex, int newIndex)
Deprecated.Handles calls toPlayer.moveMediaItem(int, int)
andPlayer.moveMediaItems(int, int, int)
.Will only be called if
Player.COMMAND_CHANGE_MEDIA_ITEMS
is available.- Parameters:
fromIndex
- The start index of the items to move. The index is in the range 0 <=fromIndex
<BasePlayer.getMediaItemCount()
.toIndex
- The index of the first item not to be included in the move (exclusive). The index is in the rangefromIndex
<toIndex
<=BasePlayer.getMediaItemCount()
.newIndex
- The new index of the first moved item. The index is in the range0
<=newIndex
<- (toIndex - fromIndex)
.- Returns:
- A
ListenableFuture
indicating the completion of all immediateSimpleBasePlayer.State
changes caused by this call.
-
handleReplaceMediaItems
@ForOverride protected ListenableFuture<?> handleReplaceMediaItems(int fromIndex, int toIndex, List<MediaItem> mediaItems)
Deprecated.Handles calls toPlayer.replaceMediaItem(int, com.google.android.exoplayer2.MediaItem)
andPlayer.replaceMediaItems(int, int, java.util.List<com.google.android.exoplayer2.MediaItem>)
.Will only be called if
Player.COMMAND_CHANGE_MEDIA_ITEMS
is available.- Parameters:
fromIndex
- The start index of the items to replace. The index is in the range 0 <=fromIndex
<BasePlayer.getMediaItemCount()
.toIndex
- The index of the first item not to be replaced (exclusive). The index is in the rangefromIndex
<toIndex
<=BasePlayer.getMediaItemCount()
.mediaItems
- The media items to replace the specified range with.- Returns:
- A
ListenableFuture
indicating the completion of all immediateSimpleBasePlayer.State
changes caused by this call.
-
handleRemoveMediaItems
@ForOverride protected ListenableFuture<?> handleRemoveMediaItems(int fromIndex, int toIndex)
Deprecated.Handles calls toPlayer.removeMediaItem(int)
andPlayer.removeMediaItems(int, int)
.Will only be called if
Player.COMMAND_CHANGE_MEDIA_ITEMS
is available.- Parameters:
fromIndex
- The index at which to start removing media items. The index is in the range 0 <=fromIndex
<BasePlayer.getMediaItemCount()
.toIndex
- The index of the first item to be kept (exclusive). The index is in the rangefromIndex
<toIndex
<=BasePlayer.getMediaItemCount()
.- Returns:
- A
ListenableFuture
indicating the completion of all immediateSimpleBasePlayer.State
changes caused by this call.
-
handleSeek
@ForOverride protected ListenableFuture<?> handleSeek(int mediaItemIndex, long positionMs, @Command @com.google.android.exoplayer2.Player.Command int seekCommand)
Deprecated.Handles calls toPlayer.seekTo(long)
and other seek operations (for example,Player.seekToNext()
).Will only be called if the appropriate
Player.Command
, for examplePlayer.COMMAND_SEEK_TO_MEDIA_ITEM
orPlayer.COMMAND_SEEK_TO_NEXT
, is available.- Parameters:
mediaItemIndex
- The media item index to seek to. The index is in the range 0 <=mediaItemIndex
<mediaItems.size()
.positionMs
- The position in milliseconds to start playback from, orC.TIME_UNSET
to start at the default position in the media item.seekCommand
- ThePlayer.Command
used to trigger the seek.- Returns:
- A
ListenableFuture
indicating the completion of all immediateSimpleBasePlayer.State
changes caused by this call.
-
-