代码之家  ›  专栏  ›  技术社区  ›  picKit

如何在Android中解析从媒体播放器到正确分钟的歌曲时长

  •  0
  • picKit  · 技术社区  · 7 年前

    我打电话来 getDuration() 方法在MP Android中。它返回ms值。 例如 267180 .此值等于 04:27 . 问题是:如何解析convert 267180个 进入之内 04时27分 以编程方式? 谢谢。

    1 回复  |  直到 7 年前
        1
  •  0
  •   Bert Wijnants    7 年前

    在Android上,您可以使用时间单位功能,使从毫秒到秒(例如秒或分钟)的转换变得简单易读。

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