这几天在做视屏播放器,在做视屏播放器时,获取到的视屏时长通常都是以毫秒ms为单位的,这样直接显示出来肯定不行,一般都要换算成如1:20:23形式,
之前研究视屏播放的时候,研究过videoView这个控件,该控件提供了从视屏播放到视屏控制整个流程,官方全部都封装好了,他的源码里就有如何把毫秒ms换算成xx:xx:xx形式的代码,稍作修改,这里我就直接贴出来,如下:
private String stringForTime(int timeMs) {
StringBuilder mFormatBuilder = new StringBuilder();
Formatter mFormatter = new Formatter(mFormatBuilder, Locale.getDefault());
int totalSeconds = timeMs / 1000;
int seconds = totalSeconds % 60;
int minutes = (totalSeconds / 60) % 60;
int hours = totalSeconds / 3600;
mFormatBuilder.setLength(0);
if (hours > 0) {
return mFormatter.format("%d:%02d:%02d", hours, minutes, seconds).toString();
}
else {
return mFormatter.format("%02d:%02d", minutes, seconds).toString();
}
}
直接复制过去即可使用,参数传进去的是ms,返回的就是xx:xx:xx形式.