package com.qxueyou.scc.sys.utils;
|
|
import com.coremedia.iso.IsoFile;
|
|
import java.io.IOException;
|
|
|
public class VideoUtil {
|
|
|
|
/**
|
* »ñÈ¡ÊÓÆµÎļþµÄ²¥·Å³¤¶È(mp4¡¢mov¸ñʽ)
|
* @param videoPath
|
* @return µ¥Î»ÎªºÁÃë
|
*/
|
public static long getMp4Duration(String videoPath) throws IOException {
|
IsoFile isoFile = new IsoFile(videoPath);
|
long lengthInSeconds =
|
isoFile.getMovieBox().getMovieHeaderBox().getDuration() /
|
isoFile.getMovieBox().getMovieHeaderBox().getTimescale();
|
return lengthInSeconds;
|
}
|
|
|
/**
|
* µÃµ½ÓïÒô»òÊÓÆµÎļþʱ³¤,µ¥Î»Ãë
|
* @param filePath
|
* @return
|
* @throws IOException
|
*/
|
public static long getDuration(String filePath) throws IOException {
|
String format = getVideoFormat(filePath);
|
long result = 0;
|
if("wav".equals(format)){
|
result = AudioUtil.getDuration(filePath).intValue();
|
}else if("mp3".equals(format)){
|
result = AudioUtil.getMp3Duration(filePath).intValue();
|
}else if("m4a".equals(format)) {
|
result = VideoUtil.getMp4Duration(filePath);
|
}else if("mov".equals(format)){
|
result = VideoUtil.getMp4Duration(filePath);
|
}else if("mp4".equals(format)){
|
result = VideoUtil.getMp4Duration(filePath);
|
}
|
|
return result;
|
}
|
|
/**
|
* µÃµ½ÓïÒô»òÊÓÆµÎļþʱ³¤,µ¥Î»Ãë
|
* @param filePath
|
* @return
|
* @throws IOException
|
*/
|
public static long getDuration(String filePath,String format) throws IOException {
|
long result = 0;
|
if("wav".equals(format)){
|
result = AudioUtil.getDuration(filePath).intValue();
|
}else if("mp3".equals(format)){
|
result = AudioUtil.getMp3Duration(filePath).intValue();
|
}else if("m4a".equals(format)) {
|
result = VideoUtil.getMp4Duration(filePath);
|
}else if("mov".equals(format)){
|
result = VideoUtil.getMp4Duration(filePath);
|
}else if("mp4".equals(format)){
|
result = VideoUtil.getMp4Duration(filePath);
|
}
|
|
return result;
|
}
|
|
|
/**
|
* µÃµ½Îļþ¸ñʽ
|
* @param path
|
* @return
|
*/
|
public static String getVideoFormat(String path){
|
return path.toLowerCase().substring(path.toLowerCase().lastIndexOf(".") + 1);
|
}
|
|
|
}
|