在Java中,我们得到的时间都是毫秒,所以在播放媒体文件时,需要进行转换后才显示在进度条上 。
private String stringForTime(int timeMs) {
int totalSeconds = timeMs / 1000;
int seconds = totalSeconds % 60;
int minutes = (totalSeconds / 60) % 60;
int hours = totalSeconds / 3600;
StringBuilder mFormatBuilder = new StringBuilder();
Formatter mFormatter = new Formatter(mFormatBuilder, Locale.getDefault());
mFormatBuilder.setLength(0);
if (hours > 0) {
//超过60分钟的,显示出小时
return mFormatter.format("%d:%02d:%02d", hours, minutes, seconds).toString();
} else {
//不足60分钟的,只显示分和秒
return mFormatter.format("%02d:%02d", minutes, seconds).toString();
}
}