这是我的代码:
SimpleDateFormat dateFormat=new SimpleDateFormat("mm:ss");
int currentPosition=mediaPlayer.getCurrentPosition();
int duration=mediaPlayer.getDuration();
leftTime.setText(dateFormat.format(new Date(currentPosition)));
rightTime.setText(dateFormat.format(new Date(duration-currentPosition)));
}
输出显示持续时间长达60秒5:30:20 任何人吗?
答案 0 :(得分:0)
您正在以毫秒为单位处理持续时间作为日期,这是不正确的。
作为替代方案,您可以使用以下函数,该函数接收时间为Long,返回格式为" MM:SS"的字符串:
public String toTimestamp(Long time) {
Long minutes = time / 60000;
Float seconds = time % 3600000 % 60000 / 1000.0f;
DecimalFormatSymbols localeSpecificChars = DecimalFormatSymbols(Locale.US);
String secondsString = DecimalFormat("00", localeSpecificChars).format(Math.floor(seconds));
return String.format(Locale.US, "%02d:%s", minutes, secondsString);
}