如何在Android的Exo播放器中更改视频音频和字幕轨道

时间:2020-10-10 06:01:04

标签: exoplayer exoplayer2.x

请问这是仅用于音频选择的代码,但是我们还可以选择视频,音频和字幕吗?

https://imbt.ga/iNBFLV8rSQ

public void setAudioTrack(int track) {
    System.out.println("setAudioTrack: "  + track);
    MappingTrackSelector.MappedTrackInfo mappedTrackInfo = Assertions.checkNotNull(trackSelector.getCurrentMappedTrackInfo());
    DefaultTrackSelector.Parameters parameters = trackSelector.getParameters();
    DefaultTrackSelector.ParametersBuilder builder = parameters.buildUpon();
    for (int rendererIndex = 0; rendererIndex < mappedTrackInfo.getRendererCount(); rendererIndex++) {
        int trackType = mappedTrackInfo.getRendererType(rendererIndex);
        if (trackType == C.TRACK_TYPE_AUDIO) {
            builder.clearSelectionOverrides(rendererIndex).setRendererDisabled(rendererIndex, false);
            int groupIndex = track -1;
            int [] tracks = {0}; 
            DefaultTrackSelector.SelectionOverride override = new DefaultTrackSelector.SelectionOverride(groupIndex,tracks);
            builder.setSelectionOverride(rendererIndex, mappedTrackInfo.getTrackGroups(rendererIndex), override);
        }
    }
    trackSelector.setParameters(builder);
    curentAudioTrack = track;
}

1 个答案:

答案 0 :(得分:0)

我制作了具有不同功能(例如更改视频轨道)的github存储库,您应该看看here

否则,您应该看一下Exoplayer Github中的演示, 您可以复制此file来执行所需的操作,然后查看此file中的实现。