java获取视频时长
1.最近项目需要获取视频的时长,网上找了很多,都是使用it.sauronsoftware.jave.Encoder
这个包,但由于年代久远,maven仓库已经没有对应地址,踩了很多坑,找到的解决方案。
解决方案
手动下载对应jar包,本地安装到本地的maven仓库,即可正常使用
1.jar包地址: 链接:https://pan.baidu.com/s/1FTZRfVUuHPR_PMTWBsApVQ
提取码:ng9y
复制这段内容后打开百度网盘手机App,操作更方便哦
2.安装命令:在ide对应的maven命令窗口执行
mvn install:install-file -Dfile=C://jave-1.0.2.jar
-DgroupId=jave-1.0.2 -DartifactId=jave-1.0.2 -Dversion=1.0.2 -Dpackaging=jar
对应文件地址改为自己电脑的地址即可。对应的pom.xml文件中引入
<dependency>
<groupId>jave-1.0.2</groupId>
<artifactId>jave-1.0.2</artifactId>
<version>1.0.2</version>
</dependency>
最后附上获取视频时长的代码
public String uploadVideo(@RequestParam("file") MultipartFile uploadFile) throws EncoderException {
// 将MultipartFile转换为Encoder所需的File
CommonsMultipartFile cf = (CommonsMultipartFile)uploadFile;
DiskFileItem fi = (DiskFileItem) cf.getFileItem();
File source = fi.getStoreLocation();
// 获取视频时长
Encoder encoder = new Encoder();
MultimediaInfo m = encoder.getInfo(source);
// 获取视频的秒数
long ls = m.getDuration()/1000;
System.out.println("ls"+ls);
return ls;
}