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