PlayerSubtitleTrack build() { return new PlayerSubtitleTrack(groupIndex, formatIndex, trackId, language, mimeType, numberOfChannels, frequency); } }
private List<String> mapSubtitleTrackToLabel(List<PlayerSubtitleTrack> subtitleTracks) { List<String> labels = new ArrayList<>(); labels.add("Dismiss subtitles"); for (PlayerSubtitleTrack subtitleTrack : subtitleTracks) { labels.add("Group: " + subtitleTrack.groupIndex() + " Format: " + subtitleTrack.formatIndex()); } return labels; } }
public boolean selectTextTrack(PlayerSubtitleTrack subtitleTrack, RendererTypeRequester rendererTypeRequester) { TrackGroupArray trackGroups = trackSelector.trackGroups(TEXT, rendererTypeRequester); DefaultTrackSelector.SelectionOverride selectionOverride = new DefaultTrackSelector.SelectionOverride( subtitleTrack.groupIndex(), subtitleTrack.formatIndex() ); return trackSelector.setSelectionOverride(TEXT, rendererTypeRequester, trackGroups, selectionOverride); }
public List<PlayerSubtitleTrack> getSubtitleTracks(RendererTypeRequester rendererTypeRequester) { TrackGroupArray trackGroups = trackSelector.trackGroups(TEXT, rendererTypeRequester); List<PlayerSubtitleTrack> subtitleTracks = new ArrayList<>(); for (int groupIndex = 0; groupIndex < trackGroups.length; groupIndex++) { TrackGroup trackGroup = trackGroups.get(groupIndex); for (int formatIndex = 0; formatIndex < trackGroup.length; formatIndex++) { Format format = trackGroup.getFormat(formatIndex); PlayerSubtitleTrack playerSubtitleTrack = new PlayerSubtitleTrack( groupIndex, formatIndex, format.id, format.language, format.sampleMimeType, format.channelCount, format.bitrate ); subtitleTracks.add(playerSubtitleTrack); } } return subtitleTracks; }