1. 添加依赖包
将jar包放到web项目的lib目录下,没有lib目录的话新创建一个,本来是想把jar包上传到csdn上的,但是上传时提示我文件已存在,问了一下客户,是因为已经被其他人抢先上传了,就没有上传成功,csdn做了文件重复上传验证。无奈~
<dependency>
<groupId>jave-1.0.2</groupId>
<artifactId>jave-1.0.2</artifactId>
<version>1.0.2</version>
<scope>system</scope>
<systemPath>${basedir}/src/main/webapp/WEB-INF/lib/jave-1.0.2.jar</systemPath>
</dependency>
可以使用下面的坐标
<dependency>
<groupId>com.github.dadiyang</groupId>
<artifactId>jave</artifactId>
<version>1.0.5</version>
</dependency>
2. 添加Java代码
/**
* 获取视频播放时长
* @return
*/
@RequestMapping({"/ajax/getVideoTime","/ajax/getAudioTime"})
@ResponseBody
public Map<String,Object> getVideoTime(@RequestParam("url") String url){
Map<String,Object> json = null;
try{
File file = new File(CommonConstants.filePath, url);
Encoder encoder = new Encoder();
MultimediaInfo info = encoder.getInfo(file);
long ls = info.getDuration() / 1000;// ls是获取到的秒数
logger.info("ls: {}", ls);
Map<String, Object> data = new HashMap<>();
data.put("minute", (ls / 60));
data.put("second", (ls % 60));
json = getJsonMap(true, null, data);
}catch (Exception e){
logger.error("getVideoTime",e);
json = getJsonMap(false, null, null);
}
return json;
}
3. 添加js代码
//url传文件的路径 /a/b.mp4
function getTime(url){
$.ajax({
url:'/admin/ajax/getVideoTime',
type:'post',
data:{"url": url},
dataType:'json',
success: function(result) {
if(result.success) {
$("#minutes").val(result.entity.minute);
$("#seconds").val(result.entity.second);
}else{
$("#minutes").val(0);
$("#seconds").val(0);
}
}
})
}