在 ExoPlayer2 中,您可以使用 MappingTrackSelector 类来选择要播放的轨道。您可以通过 DefaultTrackSelector.ParametersBuilder 对象来配置轨道选择器,例如:

DefaultTrackSelector.ParametersBuilder builder = new DefaultTrackSelector.ParametersBuilder();
builder.setPreferredAudioLanguage("en"); // 设置首选音频语言为英语
builder.setPreferredTextLanguage("en"); // 设置首选字幕语言为英语
builder.setSelectionOverride(0, groupIndex, new DefaultTrackSelector.SelectionOverride(selectedIndex)); // 选择指定轨道

在上面的代码中,groupIndex 是轨道组的索引,selectedIndex 是要选择的轨道的索引。您可以根据需要多次调用 setSelectionOverride 方法来选择多个轨道。

如果您需要在运行时更改选定的轨道,可以使用 MappingTrackSelector.ParametersBuilder 对象的 clearSelectionOverrides 方法来清除所有当前的轨道选择,然后使用 setSelectionOverride 方法来选择新的轨道。

例如,以下代码清除所有当前的轨道选择并选择新的音频轨道:

DefaultTrackSelector.ParametersBuilder builder = trackSelector.buildUponParameters();
builder.clearSelectionOverrides(0); // 清除所有当前的轨道选择
builder.setSelectionOverride(0, audioGroupIndex, new DefaultTrackSelector.SelectionOverride(selectedAudioIndex)); // 选择新的音频轨道
trackSelector.setParameters(builder.build());
exoplayer2 中 没有了 setSelectedTrack 该怎么操作

原文地址: https://www.cveoy.top/t/topic/b7G9 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录