java - 如何获得媒体播放器持续时间的正确持续时间格式?
问题描述
我正在尝试以这种格式 00:00:00 从正在播放的媒体播放器中获取持续时间小时、分钟和秒。这是我到目前为止所拥有的。我几乎拥有它,但它不是100%。
public String convertDurationMillis(Integer getDurationInMillis){
int getDurationMillis = getDurationInMillis
String convertHours = String.format("%02d", TimeUnit.MILLISECONDS.toHours(getDurationMillis));
String convertMinutes = String.format("%02d", TimeUnit.MILLISECONDS.toMinutes(getDurationMillis));
String convertSeconds = String.format("%02d", TimeUnit.MILLISECONDS.toSeconds(getDurationMillis) -
TimeUnit.MINUTES.toSeconds(TimeUnit.MILLISECONDS.toMinutes(getDurationMillis)));
String getDuration = convertHours + ":" + convertMinutes + ":" + convertSeconds;
return getDuration;
}
这是我的文本视图
myTV.setText(convertDurationMillis(mediaPlayer.getDuration());
只要音频持续时间少于一小时,它就可以正常工作。如果音频持续时间等于或超过一个小时,这就是我的结果... 02:149:51。我该如何纠正?提前致谢!
解决方案
没关系,我终于明白了!这是答案...
public String convertDurationMillis(Integer getDurationInMillis){
int getDurationMillis = getDurationInMillis;
String convertHours = String.format("%02d", TimeUnit.MILLISECONDS.toHours(getDurationMillis));
String convertMinutes = String.format("%02d", TimeUnit.MILLISECONDS.toMinutes(getDurationMillis) -
TimeUnit.HOURS.toMinutes(TimeUnit.MILLISECONDS.toHours(getDurationMillis))); //I needed to add this part.
String convertSeconds = String.format("%02d", TimeUnit.MILLISECONDS.toSeconds(getDurationMillis) -
TimeUnit.MINUTES.toSeconds(TimeUnit.MILLISECONDS.toMinutes(getDurationMillis)));
String getDuration = convertHours + ":" + convertMinutes + ":" + convertSeconds;
return getDuration;
}
感谢大家!
推荐阅读
- php - 通过 PHP 为 dygraph.js 从 mysql 获取 csv 文件
- python - 是否可以通过 serverless.yml 将路径添加到 PATH 环境变量?
- ios - 如何更改我的代码以使我的精灵在圆形轨道上旋转,当用户点击屏幕时,它会向上跳然后再向下跳?
- android - Kotlin延迟加载在Junit测试中不起作用
- python - 对于一个数组中的每个标签,将另一个数组中的前 k 个出现设置为 False
- java - 如何在 Java 8 中进行条件方法链接
- python - 如何强制 Django 模型从内存中释放
- javascript - 使用 Azure VM Javascript SDK 从 RunCommand 获取 StdOut
- python - Statsmodels OLS with rolling window problem
- c# - Blazor Client problem with mscorlib.dll / mono-runtime