如何在安卓系统中获取MP3文件的时长

4
我正在开发一个媒体播放器项目,希望能够根据正在播放的MP3文件的长度旋转图片,也就是说当歌曲结束时,图片应该停止旋转。 我想获取所选MP3文件的持续时间,以便计时旋转。
我阅读了这个问题Get PCM data from an MP3 file in Android,但我看不到如何读取歌曲的持续时间。有没有任何函数或方法可以获取文件的持续时间?

“length” 是什么意思?是指大小还是 MP3 文件的时长? - Chirag
1
https://dev59.com/6Gsz5IYBdhLWcg3wOVL5 - ingsaurabh
精确......持续时间.... - subrussn90
你删掉了我的回答。谢谢。 - Naveen Prince P
请返回已翻译的文本。 - ישו אוהב אותך
1个回答

1
这是 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()

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接