ExoPlayer 切换内嵌字幕要切换内嵌字幕可以使用 ExoPlayer 的 setSelectedTrack 方法。该方法需要传入两个参数:媒体流类型和所选轨道的索引。以下是切换内嵌字幕的示例代码:java 获取 ExoPlayer 的 TrackSelectorTrackSelector trackSelector = exoPlayergetTrackSelector; 获取当前媒体的轨道
对不起,我的回答有误。ExoPlayer 中确实没有 setSelectedTrack 方法,正确的方法是使用 MappingTrackSelector.ParametersBuilder 的 setSelectionOverride 方法来切换内嵌字幕。以下是示例代码:
// 获取 ExoPlayer 的 TrackSelector
TrackSelector trackSelector = exoPlayer.getTrackSelector();
// 获取当前媒体的轨道信息
MappingTrackSelector.MappedTrackInfo mappedTrackInfo = trackSelector.getCurrentMappedTrackInfo();
// 获取内嵌字幕轨道的索引
int subtitleIndex = getSubtitleIndex(mappedTrackInfo);
// 构建参数
MappingTrackSelector.ParametersBuilder builder = trackSelector.buildUponParameters();
builder.setSelectionOverride(C.TRACK_TYPE_TEXT, mappedTrackInfo.getTrackGroups(C.TRACK_TYPE_TEXT).indexOf(mappedTrackInfo.getTrackGroups(C.TRACK_TYPE_TEXT).get(subtitleIndex)), null);
trackSelector.setParameters(builder.build());
其中,getSubtitleIndex 方法用于获取内嵌字幕轨道的索引,可以根据需要自行实现。
原文地址: https://www.cveoy.top/t/topic/b7GZ 著作权归作者所有。请勿转载和采集!