如何解析媒体播放器中的歌曲持续时间以更正 android 中的分钟数

How to parse song duration from media player to correct minutes in android

我在 MP Android 中调用 getDuration() 方法。它 returns 毫秒值。 例如 267180。该值等于 04:27。 问题:如何以编程方式将 267180 转换为 04:27? 谢谢。

在 Android 上,您可以使用 TimeUnit 函数将毫秒转换为例如秒或分钟简单易读。

import java.util.concurrent.TimeUnit;

@Test
public void testFormatDuration() throws Exception {
    assertEquals("00:00", formatDuration(0));
    assertEquals("04:27", formatDuration(267180));
    assertEquals("01:00", formatDuration(60000));
    assertEquals("10:00", formatDuration(600000));
}

private String formatDuration(long duration) {
    long minutes = TimeUnit.MINUTES.convert(duration, TimeUnit.MILLISECONDS);
    long seconds = TimeUnit.SECONDS.convert(duration, TimeUnit.MILLISECONDS)
            - minutes * TimeUnit.SECONDS.convert(1, TimeUnit.MINUTES);

    return String.format("%02d:%02d", minutes, seconds);
}