SubtitleData
class SubtitleData
kotlin.Any | |
↳ | android.media.SubtitleData |
Class encapsulating subtitle data, as received through the MediaPlayer.OnSubtitleDataListener
interface. The subtitle data includes:
- the track index
- the start time (in microseconds) of the data
- the duration (in microseconds) of the data
- the actual data.
MediaPlayer.TrackInfo
of the subtitle track, one of MediaFormat#MIMETYPE_TEXT_CEA_608
, MediaFormat#MIMETYPE_TEXT_CEA_708
, MediaFormat#MIMETYPE_TEXT_VTT
.
Here is an example of iterating over the tracks of a MediaPlayer
, and checking which encoding is used for the subtitle tracks:
MediaPlayer mp = new MediaPlayer(); mp.setDataSource(myContentLocation); mp.prepare(); // synchronous prepare, ready to use when method returns final TrackInfo[] trackInfos = mp.getTrackInfo(); for (TrackInfo info : trackInfo) { if (info.getTrackType() == TrackInfo.MEDIA_TRACK_TYPE_SUBTITLE) { final String mime = info.getFormat().getString(MediaFormat.KEY_MIME); if (MediaFormat.MIMETYPE_TEXT_CEA_608.equals(mime) { // subtitle encoding is CEA 608 } else if (MediaFormat.MIMETYPE_TEXT_CEA_708.equals(mime) { // subtitle encoding is CEA 708 } else if (MediaFormat.MIMETYPE_TEXT_VTT.equals(mime) { // subtitle encoding is WebVTT } } }
See MediaPlayer#setOnSubtitleDataListener(android.media.MediaPlayer.OnSubtitleDataListener, android.os.Handler)
to receive subtitle data from a MediaPlayer object.
Summary
Public constructors | |
---|---|
SubtitleData(trackIndex: Int, startTimeUs: Long, durationUs: Long, data: ByteArray) Constructor. |
Public methods | |
---|---|
ByteArray |
getData() Returns the encoded data for the subtitle content. |
Long |
Returns the duration in microsecond during which the subtitle should be displayed. |
Long |
Returns the media time at which the subtitle should be displayed, expressed in microseconds. |
Int |
Returns the index of the media player track which contains this subtitle data. |
Public constructors
SubtitleData
SubtitleData(
trackIndex: Int,
startTimeUs: Long,
durationUs: Long,
data: ByteArray)
Constructor.
Parameters | |
---|---|
trackIndex |
Int: the index of the media player track which contains this subtitle data. |
startTimeUs |
Long: the start time in microsecond for the subtitle data |
durationUs |
Long: the duration in microsecond for the subtitle data |
data |
ByteArray: the data array for the subtitle data. It should not be null. No data copying is made. |
Public methods
getData
fun getData(): ByteArray
Returns the encoded data for the subtitle content. Encoding format depends on the subtitle type, refer to CEA 708, CEA/EIA 608 and WebVTT, defined by the MIME type of the subtitle track.
Return | |
---|---|
ByteArray |
the encoded subtitle data This value cannot be null . |
getDurationUs
fun getDurationUs(): Long
Returns the duration in microsecond during which the subtitle should be displayed.
Return | |
---|---|
Long |
the display duration for the subtitle |
getStartTimeUs
fun getStartTimeUs(): Long
Returns the media time at which the subtitle should be displayed, expressed in microseconds.
Return | |
---|---|
Long |
the display start time for the subtitle |
getTrackIndex
fun getTrackIndex(): Int
Returns the index of the media player track which contains this subtitle data.
Return | |
---|---|
Int |
an index in the array returned by MediaPlayer#getTrackInfo() . |