我有一些具有多个音轨的.mp4视频,每个音轨都针对一种特定的语言。

我在stackoverflow上找到了this question,但用户未发布其解决方案。

我想知道如何从.mp4视频中选择一个音轨并播放而不会同时听到其他音轨?

我没有任何限制,好像它需要是基于Intent.ACTION_VIEW的VideoView或Activity。

最佳答案

使用MediaPlayer.selectTrack(TrackIndex);
获取轨道索引使用

findTrackIndexFor(TrackInfo.MEDIA_TRACK_TYPE_AUDIO, MediaPlayer.getTrackInfo());

private int findTrackIndexFor(int mediaTrackType, TrackInfo[] trackInfo) {
        int index = -1;
        for (int i = 0; i < trackInfo.length; i++) {
            if (trackInfo[i].getTrackType() == mediaTrackType) {

                return i;
            }
        }
        return index;
    }

能否请您为我发布该多轨视频文件。

07-24 09:15