Class StubPlayer
- java.lang.Object
-
- com.google.android.exoplayer2.BasePlayer
-
- com.google.android.exoplayer2.testutil.StubPlayer
-
- All Implemented Interfaces:
Player
- Direct Known Subclasses:
StubExoPlayer
public class StubPlayer extends BasePlayer
An abstractPlayerimplementation that throwsUnsupportedOperationExceptionfrom every method.
-
-
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 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 StubPlayer()
-
Method Summary
All Methods Instance Methods Concrete Methods Deprecated Methods Modifier and Type Method Description voidaddListener(Player.Listener listener)Registers a listener to receive all events from the player.voidaddMediaItems(int index, List<MediaItem> mediaItems)Adds a list of media items at the given index of the playlist.voidclearVideoSurface()voidclearVideoSurface(Surface surface)Clears theSurfaceonto which video is being rendered if it matches the one passed.voidclearVideoSurfaceHolder(SurfaceHolder surfaceHolder)Clears theSurfaceHolderthat holds theSurfaceonto which video is being rendered if it matches the one passed.voidclearVideoSurfaceView(SurfaceView surfaceView)Clears theSurfaceViewonto which video is being rendered if it matches the one passed.voidclearVideoTextureView(TextureView textureView)Clears theTextureViewonto which video is being rendered if it matches the one passed.voiddecreaseDeviceVolume()Deprecated.UsedecreaseDeviceVolume(int)instead.voiddecreaseDeviceVolume(@com.google.android.exoplayer2.C.VolumeFlags int flags)Decreases the volume of the device.LoopergetApplicationLooper()Returns theLooperassociated with the application thread that's used to access the player and on which player events are received.AudioAttributesgetAudioAttributes()Returns the attributes for audio playback.Player.CommandsgetAvailableCommands()Returns the player's currently availablePlayer.Commands.longgetBufferedPosition()Returns an estimate of the position in the current content or ad up to which data is buffered, in milliseconds.longgetContentBufferedPosition()IfPlayer.isPlayingAd()returnstrue, returns an estimate of the content position in the current content up to which data is buffered, in milliseconds.longgetContentPosition()IfPlayer.isPlayingAd()returnstrue, returns the content position that will be played once all ads in the ad group have finished playing, in milliseconds.intgetCurrentAdGroupIndex()IfPlayer.isPlayingAd()returns true, returns the index of the ad group in the period currently being played.intgetCurrentAdIndexInAdGroup()IfPlayer.isPlayingAd()returns true, returns the index of the ad in its ad group.CueGroupgetCurrentCues()Returns the currentCueGroup.intgetCurrentMediaItemIndex()Returns the index of the currentMediaItemin thetimeline, or the prospective index if thecurrent timelineis empty.intgetCurrentPeriodIndex()Returns the index of the period currently being played.longgetCurrentPosition()Returns the playback position in the current content or ad, in milliseconds, or the prospective position in milliseconds if thecurrent timelineis empty.TimelinegetCurrentTimeline()Returns the currentTimeline.TracksgetCurrentTracks()Returns the current tracks.DeviceInfogetDeviceInfo()Gets the device information.intgetDeviceVolume()Gets the current volume of the device.longgetDuration()Returns the duration of the current content or ad in milliseconds, orC.TIME_UNSETif the duration is not known.longgetMaxSeekToPreviousPosition()Returns the maximum position for whichPlayer.seekToPrevious()seeks to the previousMediaItem, in milliseconds.MediaMetadatagetMediaMetadata()Returns the current combinedMediaMetadata, orMediaMetadata.EMPTYif not supported.PlaybackParametersgetPlaybackParameters()Returns the currently active playback parameters.@com.google.android.exoplayer2.Player.State intgetPlaybackState()Returns the current playback state of the player.@com.google.android.exoplayer2.Player.PlaybackSuppressionReason intgetPlaybackSuppressionReason()Returns the reason why playback is suppressed even thoughPlayer.getPlayWhenReady()istrue, orPlayer.PLAYBACK_SUPPRESSION_REASON_NONEif playback is not suppressed.PlaybackExceptiongetPlayerError()Returns the error that caused playback to fail.MediaMetadatagetPlaylistMetadata()Returns the playlistMediaMetadata, as set byPlayer.setPlaylistMetadata(MediaMetadata), orMediaMetadata.EMPTYif not supported.booleangetPlayWhenReady()Whether playback will proceed whenPlayer.getPlaybackState()==Player.STATE_READY.intgetRepeatMode()Returns the currentPlayer.RepeatModeused for playback.longgetSeekBackIncrement()Returns thePlayer.seekBack()increment.longgetSeekForwardIncrement()Returns thePlayer.seekForward()increment.booleangetShuffleModeEnabled()Returns whether shuffling of media items is enabled.SizegetSurfaceSize()Gets the size of the surface on which the video is rendered.longgetTotalBufferedDuration()Returns an estimate of the total buffered duration from the current position, in milliseconds.TrackSelectionParametersgetTrackSelectionParameters()Returns the parameters constraining the track selection.VideoSizegetVideoSize()Gets the size of the video.floatgetVolume()Returns the audio volume, with 0 being silence and 1 being unity gain (signal unchanged).voidincreaseDeviceVolume()Deprecated.UseincreaseDeviceVolume(int)instead.voidincreaseDeviceVolume(@com.google.android.exoplayer2.C.VolumeFlags int flags)Increases the volume of the device.booleanisDeviceMuted()Gets whether the device is muted or not.booleanisLoading()Whether the player is currently loading the source.booleanisPlayingAd()Returns whether the player is currently playing an ad.voidmoveMediaItems(int fromIndex, int toIndex, int newIndex)Moves the media item range to the new index.voidprepare()Prepares the player.voidrelease()Releases the player.voidremoveListener(Player.Listener listener)Unregister a listener registered throughPlayer.addListener(Listener).voidremoveMediaItems(int fromIndex, int toIndex)Removes a range of media items from the playlist.voidreplaceMediaItems(int fromIndex, int toIndex, List<MediaItem> mediaItems)Replaces the media items at the given range of the playlist.voidseekTo(int mediaItemIndex, long positionMs, @com.google.android.exoplayer2.Player.Command int seekCommand, boolean isRepeatingCurrentItem)Seeks to a position in the specifiedMediaItem.voidsetDeviceMuted(boolean muted)Deprecated.UsesetDeviceMuted(boolean, int)instead.voidsetDeviceMuted(boolean muted, @com.google.android.exoplayer2.C.VolumeFlags int flags)Sets the mute state of the device.voidsetDeviceVolume(int volume)Deprecated.UsesetDeviceVolume(int, int)instead.voidsetDeviceVolume(int volume, @com.google.android.exoplayer2.C.VolumeFlags int flags)Sets the volume of the device with volume flags.voidsetMediaItems(List<MediaItem> mediaItems, boolean resetPosition)Clears the playlist and adds the specified media items.voidsetMediaItems(List<MediaItem> mediaItems, int startIndex, long startPositionMs)Clears the playlist and adds the specified media items.voidsetPlaybackParameters(PlaybackParameters playbackParameters)Attempts to set the playback parameters.voidsetPlaylistMetadata(MediaMetadata mediaMetadata)Sets the playlistMediaMetadata.voidsetPlayWhenReady(boolean playWhenReady)Sets whether playback should proceed whenPlayer.getPlaybackState()==Player.STATE_READY.voidsetRepeatMode(@com.google.android.exoplayer2.Player.RepeatMode int repeatMode)Sets thePlayer.RepeatModeto be used for playback.voidsetShuffleModeEnabled(boolean shuffleModeEnabled)Sets whether shuffling of media items is enabled.voidsetTrackSelectionParameters(TrackSelectionParameters parameters)Sets the parameters constraining the track selection.voidsetVideoSurface(Surface surface)Sets theSurfaceonto which video will be rendered.voidsetVideoSurfaceHolder(SurfaceHolder surfaceHolder)Sets theSurfaceHolderthat holds theSurfaceonto which video will be rendered.voidsetVideoSurfaceView(SurfaceView surfaceView)Sets theSurfaceViewonto which video will be rendered.voidsetVideoTextureView(TextureView textureView)Sets theTextureViewonto which video will be rendered.voidsetVolume(float volume)Sets the audio volume, valid values are between 0 (silence) and 1 (unity gain, signal unchanged), inclusive.voidstop()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
-
getApplicationLooper
public Looper getApplicationLooper()
Description copied from interface:PlayerReturns theLooperassociated 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 listener)
Description copied from interface:PlayerRegisters 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 listener)
Description copied from interface:PlayerUnregister a listener registered throughPlayer.addListener(Listener). The listener will no longer receive events.- Parameters:
listener- The listener to unregister.
-
getPlaybackState
@State public @com.google.android.exoplayer2.Player.State int getPlaybackState()
Description copied from interface:PlayerReturns the current playback state of the player.- Returns:
- The current playback state.
- See Also:
Player.Listener.onPlaybackStateChanged(int)
-
getPlaybackSuppressionReason
@PlaybackSuppressionReason public @com.google.android.exoplayer2.Player.PlaybackSuppressionReason int getPlaybackSuppressionReason()
Description copied from interface:PlayerReturns the reason why playback is suppressed even thoughPlayer.getPlayWhenReady()istrue, orPlayer.PLAYBACK_SUPPRESSION_REASON_NONEif playback is not suppressed.- Returns:
- The current
Player.PlaybackSuppressionReason. - See Also:
Player.Listener.onPlaybackSuppressionReasonChanged(int)
-
getPlayerError
@Nullable public PlaybackException getPlayerError()
Description copied from interface:PlayerReturns 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
nullifPlayer.getPlaybackState()is notPlayer.STATE_IDLE.- Returns:
- The error, or
null. - See Also:
Player.Listener.onPlayerError(PlaybackException)
-
prepare
public void prepare()
Description copied from interface:PlayerPrepares the player.This method must only be called if
Player.COMMAND_PREPAREis available.This will move the player out of
idle stateand the player will start loading media and acquire resources needed for playback.
-
setMediaItems
public void setMediaItems(List<MediaItem> mediaItems, boolean resetPosition)
Description copied from interface:PlayerClears the playlist and adds the specified media items.This method must only be called if
Player.COMMAND_CHANGE_MEDIA_ITEMSis 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 void setMediaItems(List<MediaItem> mediaItems, int startIndex, long startPositionMs)
Description copied from interface:PlayerClears the playlist and adds the specified media items.This method must only be called if
Player.COMMAND_CHANGE_MEDIA_ITEMSis available.- Parameters:
mediaItems- The new media items.startIndex- TheMediaItemindex to start playback from. IfC.INDEX_UNSETis passed, the current position is not reset.startPositionMs- The position in milliseconds to start playback from. IfC.TIME_UNSETis passed, the default position of the givenMediaItemis used. In any case, ifstartIndexis set toC.INDEX_UNSET, this parameter is ignored and the position is not reset at all.
-
addMediaItems
public void addMediaItems(int index, List<MediaItem> mediaItems)Description copied from interface:PlayerAdds a list of media items at the given index of the playlist.This method must only be called if
Player.COMMAND_CHANGE_MEDIA_ITEMSis 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)Description copied from interface:PlayerMoves the media item range to the new index.This method must only be called if
Player.COMMAND_CHANGE_MEDIA_ITEMSis 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<MediaItem> mediaItems)Description copied from interface:PlayerReplaces the media items at the given range of the playlist.This method must only be called if
Player.COMMAND_CHANGE_MEDIA_ITEMSis 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
fromIndexandtoIndexdoes 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 void removeMediaItems(int fromIndex, int toIndex)Description copied from interface:PlayerRemoves a range of media items from the playlist.This method must only be called if
Player.COMMAND_CHANGE_MEDIA_ITEMSis 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 getAvailableCommands()
Description copied from interface:PlayerReturns the player's currently availablePlayer.Commands.The returned
Player.Commandsare 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 void setPlayWhenReady(boolean playWhenReady)
Description copied from interface:PlayerSets 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_PAUSEis available.- Parameters:
playWhenReady- Whether playback should proceed when ready.
-
getPlayWhenReady
public boolean getPlayWhenReady()
Description copied from interface:PlayerWhether playback will proceed whenPlayer.getPlaybackState()==Player.STATE_READY.- Returns:
- Whether playback will proceed when ready.
- See Also:
Player.Listener.onPlayWhenReadyChanged(boolean, int)
-
setRepeatMode
public void setRepeatMode(@RepeatMode @com.google.android.exoplayer2.Player.RepeatMode int repeatMode)
Description copied from interface:PlayerSets thePlayer.RepeatModeto be used for playback.This method must only be called if
Player.COMMAND_SET_REPEAT_MODEis available.- Parameters:
repeatMode- The repeat mode.
-
getRepeatMode
public int getRepeatMode()
Description copied from interface:PlayerReturns the currentPlayer.RepeatModeused for playback.- Returns:
- The current repeat mode.
- See Also:
Player.Listener.onRepeatModeChanged(int)
-
setShuffleModeEnabled
public void setShuffleModeEnabled(boolean shuffleModeEnabled)
Description copied from interface:PlayerSets whether shuffling of media items is enabled.This method must only be called if
Player.COMMAND_SET_SHUFFLE_MODEis available.- Parameters:
shuffleModeEnabled- Whether shuffling is enabled.
-
getShuffleModeEnabled
public boolean getShuffleModeEnabled()
Description copied from interface:PlayerReturns whether shuffling of media items is enabled.
-
isLoading
public boolean isLoading()
Description copied from interface:PlayerWhether the player is currently loading the source.- Returns:
- Whether the player is currently loading the source.
- See Also:
Player.Listener.onIsLoadingChanged(boolean)
-
seekTo
public void seekTo(int mediaItemIndex, long positionMs, @Command @com.google.android.exoplayer2.Player.Command int seekCommand, boolean isRepeatingCurrentItem)Description copied from class:BasePlayerSeeks to a position in the specifiedMediaItem.- Specified by:
seekToin classBasePlayer- Parameters:
mediaItemIndex- The index of theMediaItem.positionMs- The seek position in the specifiedMediaItemin milliseconds, orC.TIME_UNSETto seek to the media item's default position.seekCommand- ThePlayer.Commandused to trigger the seek.isRepeatingCurrentItem- Whether this seeks repeats the current item.
-
getSeekBackIncrement
public long getSeekBackIncrement()
Description copied from interface:PlayerReturns thePlayer.seekBack()increment.- Returns:
- The seek back increment, in milliseconds.
- See Also:
Player.Listener.onSeekBackIncrementChanged(long)
-
getSeekForwardIncrement
public long getSeekForwardIncrement()
Description copied from interface:PlayerReturns thePlayer.seekForward()increment.- Returns:
- The seek forward increment, in milliseconds.
- See Also:
Player.Listener.onSeekForwardIncrementChanged(long)
-
getMaxSeekToPreviousPosition
public long getMaxSeekToPreviousPosition()
Description copied from interface:PlayerReturns 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 void setPlaybackParameters(PlaybackParameters playbackParameters)
Description copied from interface:PlayerAttempts to set the playback parameters. PassingPlaybackParameters.DEFAULTresets 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_PITCHis available.- Parameters:
playbackParameters- The playback parameters.
-
getPlaybackParameters
public PlaybackParameters getPlaybackParameters()
Description copied from interface:PlayerReturns the currently active playback parameters.
-
stop
public void stop()
Description copied from interface:PlayerStops 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_IDLEand 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_STOPis available.
-
release
public void release()
Description copied from interface:PlayerReleases 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_RELEASEis available.
-
getCurrentTracks
public Tracks getCurrentTracks()
Description copied from interface:PlayerReturns the current tracks.This method must only be called if
Player.COMMAND_GET_TRACKSis available.- See Also:
Player.Listener.onTracksChanged(Tracks)
-
getTrackSelectionParameters
public TrackSelectionParameters getTrackSelectionParameters()
Description copied from interface:PlayerReturns the parameters constraining the track selection.- See Also:
}
-
setTrackSelectionParameters
public void setTrackSelectionParameters(TrackSelectionParameters parameters)
Description copied from interface:PlayerSets 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_PARAMETERSis available.
-
getMediaMetadata
public MediaMetadata getMediaMetadata()
Description copied from interface:PlayerReturns the current combinedMediaMetadata, orMediaMetadata.EMPTYif not supported.This
MediaMetadatais 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_METADATAis available.
-
getPlaylistMetadata
public MediaMetadata getPlaylistMetadata()
Description copied from interface:PlayerReturns the playlistMediaMetadata, as set byPlayer.setPlaylistMetadata(MediaMetadata), orMediaMetadata.EMPTYif not supported.This method must only be called if
Player.COMMAND_GET_METADATAis available.
-
setPlaylistMetadata
public void setPlaylistMetadata(MediaMetadata mediaMetadata)
Description copied from interface:PlayerSets the playlistMediaMetadata.This method must only be called if
Player.COMMAND_SET_PLAYLIST_METADATAis available.
-
getCurrentTimeline
public Timeline getCurrentTimeline()
Description copied from interface:PlayerReturns the currentTimeline. Never null, but may be empty.This method must only be called if
Player.COMMAND_GET_TIMELINEis available.
-
getCurrentPeriodIndex
public int getCurrentPeriodIndex()
Description copied from interface:PlayerReturns the index of the period currently being played.This method must only be called if
Player.COMMAND_GET_TIMELINEis available.
-
getCurrentMediaItemIndex
public int getCurrentMediaItemIndex()
Description copied from interface:PlayerReturns the index of the currentMediaItemin thetimeline, or the prospective index if thecurrent timelineis empty.This method must only be called if
Player.COMMAND_GET_TIMELINEis available.
-
getDuration
public long getDuration()
Description copied from interface:PlayerReturns the duration of the current content or ad in milliseconds, orC.TIME_UNSETif the duration is not known.This method must only be called if
Player.COMMAND_GET_CURRENT_MEDIA_ITEMis available.
-
getCurrentPosition
public long getCurrentPosition()
Description copied from interface:PlayerReturns the playback position in the current content or ad, in milliseconds, or the prospective position in milliseconds if thecurrent timelineis empty.This method must only be called if
Player.COMMAND_GET_CURRENT_MEDIA_ITEMis available.
-
getBufferedPosition
public long getBufferedPosition()
Description copied from interface:PlayerReturns 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_ITEMis available.
-
getTotalBufferedDuration
public long getTotalBufferedDuration()
Description copied from interface:PlayerReturns 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_ITEMis available.
-
isPlayingAd
public boolean isPlayingAd()
Description copied from interface:PlayerReturns whether the player is currently playing an ad.This method must only be called if
Player.COMMAND_GET_CURRENT_MEDIA_ITEMis available.
-
getCurrentAdGroupIndex
public int getCurrentAdGroupIndex()
Description copied from interface:PlayerIfPlayer.isPlayingAd()returns true, returns the index of the ad group in the period currently being played. ReturnsC.INDEX_UNSETotherwise.This method must only be called if
Player.COMMAND_GET_CURRENT_MEDIA_ITEMis available.
-
getCurrentAdIndexInAdGroup
public int getCurrentAdIndexInAdGroup()
Description copied from interface:PlayerIfPlayer.isPlayingAd()returns true, returns the index of the ad in its ad group. ReturnsC.INDEX_UNSETotherwise.This method must only be called if
Player.COMMAND_GET_CURRENT_MEDIA_ITEMis available.
-
getContentPosition
public long getContentPosition()
Description copied from interface:PlayerIfPlayer.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_ITEMis available.
-
getContentBufferedPosition
public long getContentBufferedPosition()
Description copied from interface:PlayerIfPlayer.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_ITEMis available.
-
getAudioAttributes
public AudioAttributes getAudioAttributes()
Description copied from interface:PlayerReturns the attributes for audio playback.This method must only be called if
Player.COMMAND_GET_AUDIO_ATTRIBUTESis available.
-
setVolume
public void setVolume(float volume)
Description copied from interface:PlayerSets 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_VOLUMEis available.- Parameters:
volume- Linear output gain to apply to all audio channels.
-
getVolume
public float getVolume()
Description copied from interface:PlayerReturns the audio volume, with 0 being silence and 1 being unity gain (signal unchanged).This method must only be called if
Player.COMMAND_GET_VOLUMEis available.- Returns:
- The linear gain applied to all audio channels.
-
clearVideoSurface
public void clearVideoSurface()
Description copied from interface:PlayerClears anySurface,SurfaceHolder,SurfaceVieworTextureViewcurrently set on the player.This method must only be called if
Player.COMMAND_SET_VIDEO_SURFACEis available.
-
clearVideoSurface
public void clearVideoSurface(@Nullable Surface surface)Description copied from interface:PlayerClears theSurfaceonto 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_SURFACEis available.- Parameters:
surface- The surface to clear.
-
setVideoSurface
public void setVideoSurface(@Nullable Surface surface)Description copied from interface:PlayerSets theSurfaceonto 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,TextureVieworSurfaceHolderthen 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_SURFACEis available.- Parameters:
surface- TheSurface.
-
setVideoSurfaceHolder
public void setVideoSurfaceHolder(@Nullable SurfaceHolder surfaceHolder)Description copied from interface:PlayerSets theSurfaceHolderthat holds theSurfaceonto which video will be rendered. The player will track the lifecycle of the surface automatically.The thread that calls the
SurfaceHolder.Callbackmethods must be the thread associated withPlayer.getApplicationLooper().This method must only be called if
Player.COMMAND_SET_VIDEO_SURFACEis available.- Parameters:
surfaceHolder- The surface holder.
-
clearVideoSurfaceHolder
public void clearVideoSurfaceHolder(@Nullable SurfaceHolder surfaceHolder)Description copied from interface:PlayerClears theSurfaceHolderthat holds theSurfaceonto 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_SURFACEis available.- Parameters:
surfaceHolder- The surface holder to clear.
-
setVideoSurfaceView
public void setVideoSurfaceView(@Nullable SurfaceView surfaceView)Description copied from interface:PlayerSets theSurfaceViewonto which video will be rendered. The player will track the lifecycle of the surface automatically.The thread that calls the
SurfaceHolder.Callbackmethods must be the thread associated withPlayer.getApplicationLooper().This method must only be called if
Player.COMMAND_SET_VIDEO_SURFACEis available.- Parameters:
surfaceView- The surface view.
-
clearVideoSurfaceView
public void clearVideoSurfaceView(@Nullable SurfaceView surfaceView)Description copied from interface:PlayerClears theSurfaceViewonto 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_SURFACEis available.- Parameters:
surfaceView- The texture view to clear.
-
setVideoTextureView
public void setVideoTextureView(@Nullable TextureView textureView)Description copied from interface:PlayerSets theTextureViewonto which video will be rendered. The player will track the lifecycle of the surface automatically.The thread that calls the
TextureView.SurfaceTextureListenermethods must be the thread associated withPlayer.getApplicationLooper().This method must only be called if
Player.COMMAND_SET_VIDEO_SURFACEis available.- Parameters:
textureView- The texture view.
-
clearVideoTextureView
public void clearVideoTextureView(@Nullable TextureView textureView)Description copied from interface:PlayerClears theTextureViewonto 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_SURFACEis available.- Parameters:
textureView- The texture view to clear.
-
getVideoSize
public VideoSize getVideoSize()
Description copied from interface:PlayerGets the size of the video.The video's width and height are
0if there is no supported video track or its size has not been determined yet.
-
getSurfaceSize
public Size getSurfaceSize()
Description copied from interface:PlayerGets the size of the surface on which the video is rendered.
-
getCurrentCues
public CueGroup getCurrentCues()
Description copied from interface:PlayerReturns the currentCueGroup.This method must only be called if
Player.COMMAND_GET_TEXTis available.
-
getDeviceInfo
public DeviceInfo getDeviceInfo()
Description copied from interface:PlayerGets the device information.
-
getDeviceVolume
public int getDeviceVolume()
Description copied from interface:PlayerGets 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.usagewhich 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_VOLUMEis available.
-
isDeviceMuted
public boolean isDeviceMuted()
Description copied from interface:PlayerGets whether the device is muted or not.This method must only be called if
Player.COMMAND_GET_DEVICE_VOLUMEis available.
-
setDeviceVolume
@Deprecated public void setDeviceVolume(int volume)
Deprecated.UsesetDeviceVolume(int, int)instead.
-
setDeviceVolume
public void setDeviceVolume(int volume, @com.google.android.exoplayer2.C.VolumeFlags int flags)Description copied from interface:PlayerSets the volume of the device with volume flags.This method must only be called if
Player.COMMAND_SET_DEVICE_VOLUME_WITH_FLAGSis available.- Parameters:
volume- The volume to set.flags- Either 0 or a bitwise combination of one or moreC.VolumeFlags.
-
increaseDeviceVolume
@Deprecated public void increaseDeviceVolume()
Deprecated.UseincreaseDeviceVolume(int)instead.
-
increaseDeviceVolume
public void increaseDeviceVolume(@com.google.android.exoplayer2.C.VolumeFlags int flags)
Description copied from interface:PlayerIncreases 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_FLAGSis available.- Parameters:
flags- Either 0 or a bitwise combination of one or moreC.VolumeFlags.
-
decreaseDeviceVolume
@Deprecated public void decreaseDeviceVolume()
Deprecated.UsedecreaseDeviceVolume(int)instead.
-
decreaseDeviceVolume
public void decreaseDeviceVolume(@com.google.android.exoplayer2.C.VolumeFlags int flags)
Description copied from interface:PlayerDecreases 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_FLAGSis available.- Parameters:
flags- Either 0 or a bitwise combination of one or moreC.VolumeFlags.
-
setDeviceMuted
@Deprecated public void setDeviceMuted(boolean muted)
Deprecated.UsesetDeviceMuted(boolean, int)instead.
-
setDeviceMuted
public void setDeviceMuted(boolean muted, @com.google.android.exoplayer2.C.VolumeFlags int flags)Description copied from interface:PlayerSets the mute state of the device.This method must only be called if
Player.COMMAND_ADJUST_DEVICE_VOLUME_WITH_FLAGSis available.- Parameters:
muted- Whether to set the device to be muted or notflags- Either 0 or a bitwise combination of one or moreC.VolumeFlags.
-
-