我正在制作一个媒体播放器项目,我想根据我正在播放的MP3文件的长度旋转图像,即当歌曲结束时图像应该停止旋转。 我想获得所选MP3文件的持续时间,以便我可以计时轮换。
我读了这个问题Get PCM data from an MP3 file in Android,但我看不懂如何阅读歌曲的持续时间。我怎么能这样做 - 是否有任何函数或方法来获取文件的持续时间?
答案 0 :(得分:0)
这是Kotlin版本
var metaRetriever:MediaMetadataRetriever = MediaMetadataRetriever()
metaRetriever.setDataSource(filePath)
var out:String = ""
var txtTime:String = ""
var duration:String = metaRetriever.extractMetadata(MediaMetadataRetriever.METADATA_KEY_DURATION)
Log.d("DURATION VALUE", duration)
var dur:Long = duration.toLong()
var seconds:String = ((dur % 60000)/1000).toString()
Log.d("SECONDS VALUE", seconds)
var minutes:String = (dur / 60000).toString()
out = minutes + ":" + seconds
if (seconds.length == 1){
txtTime = "0" + minutes + ":0" + seconds
}
else {
txtTime = "0" + minutes + ":" + seconds
}
Log.d("MINUTES VALUE", minutes)
Log.d("FORMATTED TIME", txtTime)
metaRetriever.release()