Android媒体文件长度

时间:2015-10-23 00:06:04

标签: java android android-studio

我需要能够读取一组文件并找出它们的长度。 例如,我有10个ogg文件,每个文件从30秒到3分钟不等。根据用户的选择,我可能会使用1到10个文件,并希望根据每个播放的文件显示剩余时间的倒计时。因此,如果选择了文件1,2和3,则剩余时间可能为7分钟,但如果选择4 5和6,则剩余4分钟等等。

所以我需要能够读取文件并确定它们的长度。

1 个答案:

答案 0 :(得分:1)

如果您可以将文件命名为file0.ogg,file1.ogg等,则可以使用。

//create an array to store the duration of each file.
int[] durations = new int[10];

//create a MediaPlayer
MediaPlayer mp =  new MediaPlayer();
for(int i = 0;i<durations.length;i++);
    try {
        //for each file, load it into MediaPlayer, get the file's duration, and then reset the MediaPlayer
        mp.setDataSource("file"+i+".ogg");
        mp.prepare();
        durations[i] = mp.getDuration();
        mp.reset();
        }
    catch(IOException ioe) {}
 }