java后端获取视频时长
目录
java后端获取视频时长
导入依赖:亲测这个版本可用
<dependency>
<groupId>com.github.vip-zpf</groupId>
<artifactId>jave</artifactId>
<version>1.0.9</version>
</dependency>
工具类:
返回值根据自己的要求去处理就可以了
public static long readVideoTimeMs(MultipartFile file) {
Encoder encoder = new Encoder();
long ms = 0;
try {
// 获取文件类型
String fileName = file.getContentType();
// 获取文件后缀
String pref = fileName.indexOf("/") != -1 ? fileName.substring(fileName.lastIndexOf("/") + 1, fileName.length()) : null;
String prefix = "." + pref;
// 用uuid作为文件名,防止生成的临时文件重复
final File excelFile = File.createTempFile(UUID.randomUUID().toString().replace("-", ""), prefix);
// MultipartFile to File
file.transferTo(excelFile);
MultimediaInfo m = encoder.getInfo(excelFile);
ms = m.getDuration();
//程序结束时,删除临时文件
VideoUtil.deleteFile(excelFile);
} catch (Exception e) {
e.printStackTrace();
}
long seconds = ms/1000;
return seconds;
}
/**
* 删除文件
*/
private static void deleteFile(File... files) {
for (File file : files) {
if (file.exists()) {
file.delete();
}
}
}
}