2013-04-09 295 views
2

我有一些.mp4视频有多个音轨,每个音轨都有特定的语言。Android:在视频中选择音轨

我在stackoverflow上发现了this question,但用户没有发布他的解决方案。

我想知道如何从.mp4视频中选择一个音轨并在不同时听到其他音轨的情况下播放它?

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

回答

1

使用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; 
    } 

可以请你张贴多音轨视频文件给我。