//js獲取視頻時長
var vid = document.getElementById("video-box");
//返回值以秒爲單位
var vLength = parseFloat( vid.duration );
if ( vLength > 0 ){
//小時
var h=parseInt( vLength / (60*60) );
var m=parseInt((vLength % (60*60)) / 60);
var s=parseInt(vLength % 60 );
if ( h < 10 ){
h = '0' +h;
}
if ( m < 10 ){
m = '0' +m;
}
if ( s < 10 ){
s = '0' +s;
}
var minute = h + ':' + m + ':' + s ;
$('#minute-box').html( '視頻時長:' + minute );
}
java 獲取視頻的時長
用到的類庫爲 :jave-1.0.2.jar
/**
* 獲取視頻文件播放時長
* @param src
* @return 返回毫秒值
*/
public static long getVideoLength(String src){
File file=new File(src);
MultimediaInfo multimediaInfo;
Encoder encoder=new Encoder();
try{
multimediaInfo=encoder.getInfo(file);
VideoInfo videoInfo= multimediaInfo.getVideo();
videoInfo.getDecoder();
multimediaInfo.getFormat();
return multimediaInfo.getDuration();
}catch (Exception e){
e.printStackTrace();
}
return 0;
}
/**
* 獲取文件播放時長
* @param fileName
* @return HH:mm:ss 格式字符串
*/
public static String getVideoLengthStr(String fileName){
long length= getVideoLength(fileName);
//小時
int h=(int)length/(60*60*1000);
int m=(int)(length%(60*60*1000))/(60*1000);
int s=(int)(length%(60*1000))/(1000);
StringBuilder sb=new StringBuilder();
if (h<10){
sb.append("0").append(h);
}else {
sb.append(h);
}
sb.append(":");
if (m<10){
sb.append("0").append(m);
}else {
sb.append(m);
}
sb.append(":");
if (s<10){
sb.append("0").append(s);
}else {
sb.append(s);
}
return sb.toString();
}