android - 如何通过android MediaPlayer播放多轨视频文件?

标签 android android-mediaplayer

我正在开发一个播放视频文件的应用程序。我正在使用 android MediaPlayer 类来播放视频文件。

问题: 我想播放一个带有多个嵌入音轨的视频文件。然后希望允许用户在运行时通过界面在轨道之间进行选择。

Android MediaPlayer 是否可以做到这一点? 我见过很多具有此功能的应用程序,例如 MX PLayer、VLC for android ...

最佳答案

是的Android MediaPlayer支持播放多个嵌入式音轨。

您可以使用selectTrack API 来实现相同的目的。

语法如下。

public void selectTrack (int index)

index int: the index of the track to be selected. The valid range of the index is 0..total number of track - 1. The total number of tracks as well as the type of each individual track can be found by calling getTrackInfo() method.

用法示例:

     MediaPlayer mplayer = new MediaPlayer();

     MediaPlayer.TrackInfo[] trackInfo = mplayer.getTrackInfo();

        for (int i = 0; i < trackInfoArray.length; i++) {
            if (trackInfo[i].getTrackType() == MediaPlayer.TrackInfo.MEDIA_TRACK_TYPE_AUDIO) {
                mplayer.selectTrack(i);
                break;
            }

关于android - 如何通过android MediaPlayer播放多轨视频文件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52530302/

相关文章:

android - 在android上同步多个音轨

java - 想法 : Android cannot work with Java 7

android - ListView 项目布局

java - 如何从我的对话框 (Android) 访问我的 GridView 实例?

android - MediaPlayer滞后于手机锁

android - GCMIntentService onMessage 触发时如何播放声音文件?

android - 如何获得带小数点的电池温度?

android - 如何将可绘制对象设置为 TextView 的文本?

android - MediaPlayer.prepare 在播放 m4a 文件时抛出 IllegalStateException

Android:录音和保存音频