Java 在android中,如何将媒体播放器中的歌曲持续时间解析为正确的分钟数

Java 在android中,如何将媒体播放器中的歌曲持续时间解析为正确的分钟数,java,android,android-mediaplayer,Java,Android,Android Mediaplayer,我在MP Android中调用getDuration()方法。它返回ms值。 例如267180。该值等于04:27。 问题:如何以编程方式将convert267180解析为04:27? 谢谢。在Android上,您可以使用TimeUnit功能轻松地将毫秒转换为秒或分钟,并且易于阅读 import java.util.concurrent.TimeUnit; @Test public void testFormatDuration() throws Exception { assertE

我在MP Android中调用
getDuration()
方法。它返回ms值。 例如
267180
。该值等于
04:27
。 问题:如何以编程方式将convert
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);
}