gpt4 book ai didi

android - 将音频文件时间转换为字符串和日期

转载 作者:行者123 更新时间:2023-11-29 16:02:17 25 4
gpt4 key购买 nike

我正在获取我的音频文件长度,将其转换为字符串,然后使用 SipleDataFormat("mm:ss")

我得到了正确的时间,我正在轻松地将它转换为字符串。

我正在使用这段代码:

            int length = mp.getDuration()/1000;
mp.release();

SimpleDateFormat simpledata = new SimpleDateFormat("mm:ss");

DateFormat formatter = new SimpleDateFormat("mmss");

String audiotime = String.valueOf(length);
String datenow=String.valueOf(length);

Date date2 = null;
try {
date2 = (Date) formatter.parse(datenow);
} catch (ParseException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}

String filetime = simpledata.format(date2);
textView1.setText(filetime);

当我想转换像“1201”这样的字符串时,它的工作正确我只是无法转换我的文件时间,我不知道这个文件的时间是 5140 毫秒但是当我将它转换为秒它的 5 秒时。

最佳答案

DateFormat 对此不起作用,因为它不是您传递给它的日期,而是时间长度。在给定持续时间的情况下,只计算分钟和秒会更简单。

MediaPlayer.getDuration() 以毫秒(1/1000 秒)为单位返回音频的长度。所以 5140 毫秒是 5.14 秒。

您可以使用它来格式化您的持续时间:

public static String getTimeString(long duration) {
int minutes = (int) Math.floor(duration / 1000 / 60);
int seconds = (int) ((duration / 1000) - (minutes * 60));
return minutes + ":" + String.format("%02d", seconds);
}

然后当你需要字符串的时候:

String timeString = getTimeString(mp.getDuration());
textView1.setText(timeString);

关于android - 将音频文件时间转换为字符串和日期,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23186985/

25 4 0
文章推荐: javascript - 当我更改选项时将