SubtitleData
public final class SubtitleData
extends Object
java.lang.Object | |
↳ | 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.
See also:
Summary
Public constructors | |
---|---|
SubtitleData(int trackIndex, long startTimeUs, long durationUs, byte[] data) Constructor. |
Public methods | |
---|---|
byte[] | getData() Returns the encoded data for the subtitle content. |
long | getDurationUs() Returns the duration in microsecond during which the subtitle should be displayed. |
long | getStartTimeUs() Returns the media time at which the subtitle should be displayed, expressed in microseconds. |
int | getTrackIndex() Returns the index of the media player track which contains this subtitle data. |
Inherited methods | |
---|---|
Public constructors
SubtitleData
public SubtitleData (int trackIndex, long startTimeUs, long durationUs, byte[] data)
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 | byte : the data array for the subtitle data. It should not be null. No data copying is made. |
Public methods
getData
public byte[] getData ()
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.
Returns | |
---|---|
byte[] | the encoded subtitle data This value cannot be null . |
getDurationUs
public long getDurationUs ()
Returns the duration in microsecond during which the subtitle should be displayed.
Returns | |
---|---|
long | the display duration for the subtitle |
getStartTimeUs
public long getStartTimeUs ()
Returns the media time at which the subtitle should be displayed, expressed in microseconds.
Returns | |
---|---|
long | the display start time for the subtitle |
getTrackIndex
public int getTrackIndex ()
Returns the index of the media player track which contains this subtitle data.
Returns | |
---|---|
int | an index in the array returned by MediaPlayer.getTrackInfo() . |