SeekMap
class SeekMap
| kotlin.Any | |
| ↳ | android.media.MediaParser.SeekMap |
Maps seek positions to SeekPoints in the stream.
A SeekPoint is a position in the stream from which a player may successfully start playing media samples.
Summary
| Constants | |
|---|---|
| static Int |
Returned by |
| Public methods | |
|---|---|
| Long |
Returns the duration of the stream in microseconds or |
| Pair<MediaParser.SeekPoint!, MediaParser.SeekPoint!> |
getSeekPoints(timeMicros: Long)Obtains seek points for the specified seek time in microseconds. |
| Pair<MediaParser.SeekPoint!, MediaParser.SeekPoint!> |
getSeekPoints(timeMicros: Long, trackIndex: Int)Obtains seek points for the specified seek time in microseconds, using cue points from a specific track. |
| Boolean |
Returns whether seeking is supported. |
| Boolean |
trackHasSeekPoints(trackIndex: Int)Returns whether the given track has its own seek points. |
Constants
UNKNOWN_DURATION
static val UNKNOWN_DURATION: Int
Returned by getDurationMicros() when the duration is unknown.
Value: -2147483648Public methods
getDurationMicros
fun getDurationMicros(): Long
Returns the duration of the stream in microseconds or UNKNOWN_DURATION if the duration is unknown.
getSeekPoints
fun getSeekPoints(timeMicros: Long): Pair<MediaParser.SeekPoint!, MediaParser.SeekPoint!>
Obtains seek points for the specified seek time in microseconds.
getSeekPoints(timeMicros).first contains the latest seek point for samples with timestamp equal to or smaller than timeMicros.
getSeekPoints(timeMicros).second contains the earliest seek point for samples with timestamp equal to or greater than timeMicros. If a seek point exists for timeMicros, the returned pair will contain the same SeekPoint twice.
| Parameters | |
|---|---|
timeMicros |
Long: A seek time in microseconds. |
| Return | |
|---|---|
Pair<MediaParser.SeekPoint!, MediaParser.SeekPoint!> |
The corresponding seek points. This value cannot be null. |
getSeekPoints
fun getSeekPoints(
timeMicros: Long,
trackIndex: Int
): Pair<MediaParser.SeekPoint!, MediaParser.SeekPoint!>
Obtains seek points for the specified seek time in microseconds, using cue points from a specific track.
This method is similar to getSeekPoints(long), but allows specifying a trackIndex. The trackIndex is the same index passed to OutputConsumer.onTrackDataFound(int,TrackData).
Use trackHasSeekPoints(int) to check if a track has its own seek points. If it returns false for the given trackIndex, this method will fall back to using the container's seek points, which is equivalent to calling getSeekPoints(long).
| Parameters | |
|---|---|
timeMicros |
Long: A seek time in microseconds. |
trackIndex |
Int: The index of the track to use for finding seek points. |
| Return | |
|---|---|
Pair<MediaParser.SeekPoint!, MediaParser.SeekPoint!> |
The corresponding seek points. This value cannot be null. |
trackHasSeekPoints
fun trackHasSeekPoints(trackIndex: Int): Boolean
Returns whether the given track has its own seek points.
The trackIndex is the same index passed to OutputConsumer.onTrackDataFound(int,TrackData).
This method can return false for all tracks even when isSeekable() returns true. In such cases, seeking is supported for the container, but not on a per-track basis. When this method returns false for a given track, calling getSeekPoints(long,int) for that track will fall back to using the container's seek points.
| Parameters | |
|---|---|
trackIndex |
Int: The index of the track. |
| Return | |
|---|---|
Boolean |
Whether seeking is supported for the track. |