2016-04-05 143 views
0

我使用videoview從網址播放視頻。當我播放視頻時,當前時間比視頻的總時間長一些。VideoView持續時間

04-05 17:20:27.457 9342-9342/exoplayer.com.videoview V/TOTAL: 00:45 04-05 17:20:27.557 9342-9342/exoplayer.com.videoview V/CURRENT: 00:46

public String stringForTime(long timeMs) { 
    mFormatBuilder = new StringBuilder(); 
    mFormatter = new Formatter(mFormatBuilder, Locale.getDefault()); 
    long totalSeconds = timeMs/1000; 
    int seconds = (int) (totalSeconds % 60); 
    int minutes = (int) ((totalSeconds/60) % 60); 
    int hours = (int) (totalSeconds/3600); 
    mFormatBuilder.setLength(0); 
    if (hours > 0) { 
     return mFormatter.format("%d:%02d:%02d", hours, minutes, seconds).toString(); 
    } else { 
     return mFormatter.format("%02d:%02d", minutes, seconds).toString(); 
    } 
} 

回答

1

這不是一個答案。我只是告訴你如何做到這一點。

使用這樣的事情:

public 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 + ":"; 
    } 

    // Prepending 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; 
} 

請點擊以下鏈接:

How to Display time of videoview in android

how to get total length of video in video view in android

+0

我已經在使用這些方法..沒有幫助 –

0

我這樣做是使用約達時間,有可能是一個更好的方式,但我認爲這比上面列出的解決方案更整潔

private String setTime(long elapsed) { 
    final String PADDED_TIME_FORMAT = "00%s"; 
    final Period duration = new Period(elapsed); 
    final String hours = String.format(PADDED_TIME_FORMAT, duration.getHours()); 
    final String minutes = String.format(PADDED_TIME_FORMAT, duration.getMinutes()); 
    final String seconds = String.format(PADDED_TIME_FORMAT, duration.getSeconds()); 
    return String.format("%s:%s:%s", 
      hours.substring(hours.length() -2, hours.length()), 
      minutes.substring(minutes.length() -2, minutes.length()), 
      seconds.substring(seconds.length() -2, seconds.length())); 
}