如何在Android中获取MP3文件的持续时间

参见英文答案 > Get mp3 duration in android                                    5个
我正在进行媒体播放器项目,我想根据我正在播放的MP3文件的长度旋转图像,即当歌曲结束时图像应该停止旋转.
我想获得所选MP3文件的持续时间,以便我可以计时轮换.

我读了这个问题Get PCM data from an MP3 file in Android,但我看不出如何阅读歌曲的持续时间.我怎么能这样做 – 是否有任何函数或方法来获取文件的持续时间?

解决方法:

希望对你有帮助

MediaMetadataRetriever metaRetriever = new MediaMetadataRetriever();
   metaRetriever.setDataSource(filePath);

String out = "";
   // get mp3 info

  // convert duration to minute:seconds
String duration =  
 metaRetriever.extractMetadata(MediaMetadataRetriever.METADATA_KEY_DURATION);
Log.v("time", duration);
long dur = Long.parseLong(duration);
String seconds = String.valueOf((dur % 60000) / 1000);

Log.v("seconds", seconds);
String minutes = String.valueOf(dur / 60000);
out = minutes + ":" + seconds;
if (seconds.length() == 1) {
    txtTime.setText("0" + minutes + ":0" + seconds);
}else {
    txtTime.setText("0" + minutes + ":" + seconds);
}
Log.v("minutes", minutes);
  // close object
   metaRetriever.release();
上一篇:在Python或C中单声道播放Mp3s


下一篇:如何将视频中的音频提取?