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() . |