如何在Android中获取MP3文件的持续时间[重复]

问题描述 投票:3回答:2

这个问题在这里已有答案:

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

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

android animation mp3
2个回答
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()
© www.soinside.com 2019 - 2024. All rights reserved.