public interface

Subtitle

 androidx.media3.extractor.text.Subtitle

Subclasses:

CuesWithTimingSubtitle, SubtitleOutputBuffer

Gradle dependencies

compile group: 'androidx.media3', name: 'media3-extractor', version: '1.5.0-alpha01'

  • groupId: androidx.media3
  • artifactId: media3-extractor
  • version: 1.5.0-alpha01

Artifact androidx.media3:media3-extractor:1.5.0-alpha01 it located at Google repository (https://maven.google.com/)

Overview

A subtitle consisting of timed Cues.

Summary

Methods
public java.util.List<Cue>getCues(long timeUs)

Retrieve the cues that should be displayed at a given time.

public longgetEventTime(int index)

Returns the event time at a specified index.

public intgetEventTimeCount()

Returns the number of event times, where events are defined as points in time at which the cues returned by Subtitle.getCues(long) changes.

public intgetNextEventTimeIndex(long timeUs)

Returns the index of the first event that occurs after a given time (exclusive).

Methods

public int getNextEventTimeIndex(long timeUs)

Returns the index of the first event that occurs after a given time (exclusive).

Parameters:

timeUs: The time in microseconds.

Returns:

The index of the next event, or C.INDEX_UNSET if there are no events after the specified time.

public int getEventTimeCount()

Returns the number of event times, where events are defined as points in time at which the cues returned by Subtitle.getCues(long) changes.

Returns:

The number of event times.

public long getEventTime(int index)

Returns the event time at a specified index.

Parameters:

index: The index of the event time to obtain.

Returns:

The event time in microseconds.

public java.util.List<Cue> getCues(long timeUs)

Retrieve the cues that should be displayed at a given time.

Parameters:

timeUs: The time in microseconds.

Returns:

A list of cues that should be displayed, possibly empty.

Source

/*
 * Copyright (C) 2016 The Android Open Source Project
 *
 * Licensed under the Apache License, Version 2.0 (the "License");
 * you may not use this file except in compliance with the License.
 * You may obtain a copy of the License at
 *
 *      http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS,
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 * See the License for the specific language governing permissions and
 * limitations under the License.
 */
package androidx.media3.extractor.text;

import androidx.media3.common.C;
import androidx.media3.common.text.Cue;
import androidx.media3.common.util.UnstableApi;
import java.util.List;

/** A subtitle consisting of timed {@link Cue}s. */
@UnstableApi
public interface Subtitle {

  /**
   * Returns the index of the first event that occurs after a given time (exclusive).
   *
   * @param timeUs The time in microseconds.
   * @return The index of the next event, or {@link C#INDEX_UNSET} if there are no events after the
   *     specified time.
   */
  int getNextEventTimeIndex(long timeUs);

  /**
   * Returns the number of event times, where events are defined as points in time at which the cues
   * returned by {@link #getCues(long)} changes.
   *
   * @return The number of event times.
   */
  int getEventTimeCount();

  /**
   * Returns the event time at a specified index.
   *
   * @param index The index of the event time to obtain.
   * @return The event time in microseconds.
   */
  long getEventTime(int index);

  /**
   * Retrieve the cues that should be displayed at a given time.
   *
   * @param timeUs The time in microseconds.
   * @return A list of cues that should be displayed, possibly empty.
   */
  List<Cue> getCues(long timeUs);
}