首页 文章

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

提问于
浏览
3

我正在进行媒体播放器项目,我想根据我正在播放的MP3文件的长度旋转图像,即当歌曲结束时图像应该停止旋转 . 我想获得所选MP3文件的持续时间,以便我可以计时轮换 .

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

1 回答

  • 7

    希望对你有帮助

    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();
    

相关问题