1.需要下载第三方jar包:该工程使用的是SpringBoot。由于在maven仓库中没有 jave-1.0.2.jar 这个jar,所以需要自己去下载到本地
微云地址:https://share.weiyun.com/5epeWn5 点击可直接快速下载
2.将 jave-1.0.2.jar 这个jar包引入到项目中,放在项目的src/main/resources/lib 目录下
3.配置项目pom ,将该jar包依赖到项目中,打包时能一起打包部署:
pom.xml文件:
<!--java-1.0.2.jar--> <dependency> <groupId>it.sauronsoftware</groupId> <artifactId>jave</artifactId> <version>1.0.2</version> <scope>system</scope> <systemPath>${project.basedir}/src/main/resources/lib/jave-1.0.2.jar</systemPath> </dependency>
<build> <plugins> <plugin> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-maven-plugin</artifactId> <configuration> <!--将本地使用的jar打包的时候引入lib--> <includeSystemScope>true</includeSystemScope> </configuration> </plugin> </plugins> <!-- 下面是为了打包的时候能够将jave-1.0.2.jar 排查,防止静态资源打进去,这里根据自己实际情况判断是否要将静态资源打包 --> <!--<resources> <resource> <directory>${basedir}src/main/resources</directory> <excludes> <exclude>lib/*.jar</exclude> </excludes> </resource> </resources>--> </build>
4.在启动类中注入:multipartResolver,开启springboot对 CommonsMultipartFile文件强转的支持:
@Bean("multipartResolver") public CommonsMultipartResolver multipartResolver(){ CommonsMultipartResolver resolver = new CommonsMultipartResolver(); resolver.setDefaultEncoding("UTF-8"); resolver.setMaxInMemorySize(30); return resolver; }
@SpringBootApplication( exclude = {MultipartAutoConfiguration.class})
5.获取视频时长:
/** * 获取视频时间 */ private String getVideoTime(MultipartFile contentFile) throws Exception { // 将MultipartFile转换为Encoder所需的File CommonsMultipartFile cf= (CommonsMultipartFile)contentFile; DiskFileItem fi = (DiskFileItem)cf.getFileItem(); File f = fi.getStoreLocation(); // 获取视频时长 Encoder encoder = new Encoder(); MultimediaInfo m = encoder.getInfo(f); long ls = m.getDuration()/1000; int hour = (int) (ls/3600); int minute = (int) (ls%3600)/60; int second = (int) (ls-hour*3600-minute*60); //logger.info("视频时长为:{}时{}分{}秒", hour, minute, second); String time = hour+":"+minute+":"+second; return time; }