java - 如何在android中以分钟和秒为单位获取音频长度

标签 java android c android-layout github

int duration = mediaPlayer.getDuration(); 
textView = (TextView) findViewById(R.id.tvduration); textView.setText(duration);

最佳答案

来自 MediaPlayer :

the duration in milliseconds, if no duration is available (for example, if streaming live content), -1 is returned.

这就是为什么您将从 getDuration() 获取以毫秒为单位的持续时间。
您可以使用它来获取 MediaPlayer 的时间作为字符串:

int duration = mediaPlayer.getDuration();
String time = String.format("%02d min, %02d sec", 
    TimeUnit.MILLISECONDS.toMinutes(duration),
    TimeUnit.MILLISECONDS.toSeconds(duration) - 
    TimeUnit.MINUTES.toSeconds(TimeUnit.MILLISECONDS.toMinutes(duration))
);

然后当你在问题中写下:

TextView textView = (TextView) findViewById(R.id.tvduration); 
textView.setText(time);

关于java - 如何在android中以分钟和秒为单位获取音频长度,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43828822/

相关文章:

java - 具有动态列的数据表

android - Phonegap - API 功能升级到 3.0 的问题

android - Android MediaPlayer的问题

java - 安卓 OpenCV : drawing matches with feature2d

C:为什么未分配的指针指向不可预测的内存而不是指向 NULL?

RecyclerView显示多个数据时出现java.lang.IndexOutOfBoundsException

java - 如何将图像从 URL 转换为十六进制字符串?

c - 将动态 3D 矩阵传递给函数

代码块中的 C 编程出现 undefined reference 'WinMain' 的错误

java - Android Renderscript 速度不一致