如何让以分和秒的音频的长度在android系统

问题描述:

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

持续时间显示了用这种方法毫秒,但我想显示时间的音频像15分钟:32秒 – ttoseeff

+0

请先做一些研究你不知道如何将毫秒转换为秒或分钟? –

MediaPlayer

以毫秒为单位的时间,如果没有持续可用( 例如,如果流媒体直播内容) ,返回-1。

这就是为什么你会从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(duration); 
+1

非常感谢。你做了我的一天:) – ttoseeff

+0

Ÿ你应该再次设置“持续时间”textView? –

public static String milliSecondsToTimer(long milliseconds) { 
     String finalTimerString = ""; 
     String secondsString = ""; 

     //Convert total duration into time 
     int hours = (int) (milliseconds/(1000 * 60 * 60)); 
     int minutes = (int) (milliseconds % (1000 * 60 * 60))/(1000 * 60); 
     int seconds = (int) ((milliseconds % (1000 * 60 * 60)) % (1000 * 60)/1000); 
     // Add hours if there 
     if (hours == 0) { 
      finalTimerString = hours + ":"; 
     } 

     // Pre appending 0 to seconds if it is one digit 
     if (seconds == 10) { 
      secondsString = "0" + seconds; 
     } else { 
      secondsString = "" + seconds; 
     } 

     finalTimerString = finalTimerString + minutes + ":" + secondsString; 

     // return timer string 
     return finalTimerString; 
    } 
+0

我的问题已在之前的消息中解决。所以谢谢你的回答。 – ttoseeff