如何解析媒体播放器中的歌曲时长以纠正android中的分钟

时间:2018-06-21 23:16:39

标签: java android android-mediaplayer

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

1 个答案:

答案 0 :(得分:0)

在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);
}