public final class RandomTrackSelection extends BaseTrackSelection
TrackSelection whose selected track is updated randomly.| Modifier and Type | Class and Description |
|---|---|
static class |
RandomTrackSelection.Factory
Factory for
RandomTrackSelection instances. |
group, length, tracks| Constructor and Description |
|---|
RandomTrackSelection(TrackGroup group,
int... tracks) |
RandomTrackSelection(TrackGroup group,
int[] tracks,
long seed) |
RandomTrackSelection(TrackGroup group,
int[] tracks,
java.util.Random random) |
| Modifier and Type | Method and Description |
|---|---|
int |
getSelectedIndex()
Returns the index of the selected track.
|
java.lang.Object |
getSelectionData()
Returns optional data associated with the current track selection.
|
int |
getSelectionReason()
Returns the reason for the current track selection.
|
void |
updateSelectedTrack(long playbackPositionUs,
long bufferedDurationUs,
long availableDurationUs)
Updates the selected track.
|
blacklist, disable, enable, equals, evaluateQueueSize, getFormat, getIndexInTrackGroup, getSelectedFormat, getSelectedIndexInTrackGroup, getTrackGroup, hashCode, indexOf, indexOf, isBlacklisted, length, onPlaybackSpeedpublic RandomTrackSelection(TrackGroup group, int... tracks)
group - The TrackGroup. Must not be null.tracks - The indices of the selected tracks within the TrackGroup. Must not be
null or empty. May be in any order.public RandomTrackSelection(TrackGroup group, int[] tracks, long seed)
group - The TrackGroup. Must not be null.tracks - The indices of the selected tracks within the TrackGroup. Must not be
null or empty. May be in any order.seed - A seed for the Random instance used to update the selected track.public RandomTrackSelection(TrackGroup group, int[] tracks, java.util.Random random)
group - The TrackGroup. Must not be null.tracks - The indices of the selected tracks within the TrackGroup. Must not be
null or empty. May be in any order.random - A source of random numbers.public void updateSelectedTrack(long playbackPositionUs,
long bufferedDurationUs,
long availableDurationUs)
TrackSelectionThis method may only be called when the selection is enabled.
playbackPositionUs - The current playback position in microseconds. If playback of the
period to which this track selection belongs has not yet started, the value will be the
starting position in the period minus the duration of any media in previous periods still
to be played.bufferedDurationUs - The duration of media currently buffered from the current playback
position, in microseconds. Note that the next load position can be calculated as
(playbackPositionUs + bufferedDurationUs).availableDurationUs - The duration of media available for buffering from the current
playback position, in microseconds, or C.TIME_UNSET if media can be buffered
to the end of the current period. Note that if not set to C.TIME_UNSET, the
position up to which media is available for buffering can be calculated as
(playbackPositionUs + availableDurationUs).public int getSelectedIndex()
TrackSelectionpublic int getSelectionReason()
TrackSelection@Nullable public java.lang.Object getSelectionData()
TrackSelection