java读取视频文件时长
1.下载jar包:http://www.sauronsoftware.it/projects/jave/index.php
2.上代码
@RequestMapping(value = "amendFile.htm", produces = "application/json;charset=UTF-8")
@ResponseBody
public String amendFile(MultipartFile file, HttpServletRequest request,
HttpServletResponse response, String equid,String begintime,String endtime) {
log.info(this.getClass().getSimpleName() + "."
+ Thread.currentThread().getStackTrace()[1].getMethodName()
+ "()----start"); String path = request.getSession().getServletContext()
.getRealPath("/")+"resources/"+equid+"/"+begintime.substring(0,begintime.length()-6)+"/";
// 通过文件ID 获取文件存储路径
if (file.isEmpty()) {
return "empty";
}
Map<String, Object> map = new HashMap<String, Object>();
try {
/* 写入文件 */
File targetFile = new File(path, file.getOriginalFilename());
if (!targetFile.exists()) {
targetFile.mkdirs();
}
file.transferTo(targetFile); // 转储
Encoder encoder = new Encoder();
// zp add 读取视频时长 2017-07-31
try {
MultimediaInfo m = encoder.getInfo(targetFile);
long ls = m.getDuration();
ls = Math.round((double)ls/1000);
map.put("timeLength", Math.round(ls));
} catch (Exception e) {
e.printStackTrace();
}
// 读取视频时长结束 2017-07-31
response.addHeader("Access-Control-Allow-Origin", "*");
if(targetFile.exists()){ map.put("success", "success");
ObjectMapper mapper = new ObjectMapper();
String content = mapper.writeValueAsString(map);
return content;
}else{
map.put("error", "error");
ObjectMapper mapper = new ObjectMapper();
String content = mapper.writeValueAsString(map);
return content;
} } catch (Exception e) {
e.printStackTrace();
}
log.info(this.getClass().getSimpleName() + "."
+ Thread.currentThread().getStackTrace()[1].getMethodName()
+ "()----end");
return "success";
}
其中最重要的代码就是:
// zp add 读取视频时长 2017-07-31
try {
MultimediaInfo m = encoder.getInfo(targetFile);
long ls = m.getDuration();
ls = Math.round((double)ls/1000);
map.put("timeLength", Math.round(ls));
} catch (Exception e) {
e.printStackTrace();
}
// 读取视频时长结束 2017-07-31
java读取视频文件时长的更多相关文章
- 以springMVC为例获取上传视频文件时长
毕设项目是一个在线学习系统,教师用户有上传视频的功能,在答辩之前赶了一个demo出来,好多功能都写死了,比如课程学习进度就是被我写死在前端的一个变量,最近导师要我把项目打包发给他,这才心慌慌赶紧把这些 ...
- java 获取音频文件时长
需要导入jar包:jave 1.0.2 jar 如果是maven项目,在pom.xml文件中添加: <dependency> <groupId>it.sauronsoftwar ...
- Java 读取Properties文件时应注意的路径问题
1. 使用Class的getResourceAsStream()方法读取Properties文件(资源文件)的路径问题: InputStream in = this.getClass().getRe ...
- [原]通过配合ffmpeg.exe获取视频文件时长
import subprocess import os import time def getTime(flvpath,fid): #file_str = '1.flv' file_str = flv ...
- windows 7 下,如何统计某文件夹下 视频总时长
由于项目需要,我需要给系统加权限,这真是一个让人头疼的问题,如果要每个业务方法都加上权限判断逻辑,那真的不敢想象是多么大的工作量,日后有变动的话,我会不会发疯? 所以我必须利用之前学到的AOP编程,在 ...
- java读取properties文件时候要注意的地方
java读取properties文件时,一定要注意properties里面后面出现的空格! 比如:filepath = /home/cps/ 我找了半天,系统一直提示,没有这个路径,可是确实是存在的, ...
- java分享第十六天( java读取properties文件的几种方法&java配置文件持久化:static块的作用)
java读取properties文件的几种方法一.项目中经常会需要读取配置文件(properties文件),因此读取方法总结如下: 1.通过java.util.Properties读取Propert ...
- 用java读取properties文件--转
今天为了通过java读取properties文件,google了很长时间,终于找到了.现在特记录之和大家一起分享. 下面直接贴出代码:java类 public class Mytest pub ...
- java读取xml文件报“org.xml.sax.SAXParseException: Premature end of file” .
背景:java读取xml文件,xml文件内容只有“<?xml version="1.0" encoding="UTF-8"?>”一行 java读取该 ...
随机推荐
- POJ 1661 (Help Jimmy )
Help Jimmy Time Limit: 1000MS Memory Limit: 10000K Total Submissions: 13669 Accepted: 4541 Descr ...
- zxing生成二维码设置边框颜色
真是研究了很久很久,满满的泪啊 zxing生成二维码,默认是可以增加空白边框的,但是并没有可以设置边框颜色的属性. 其中增加空白边框的属性的一句话是: Map hints = new HashMap( ...
- 2019 Android 高级面试题总结
说下你所知道的设计模式与使用场景 a.建造者模式: 将一个复杂对象的构建与它的表示分离,使得同样的构建过程可以创建不同的表示. 使用场景比如最常见的AlertDialog,拿我们开发过程中举例,比如C ...
- FreeRTOS不允许在中断服务程序和临界段中执行不确定的性的操作
举例 等待事件标志组的任务,要是在中断服务程序中设置事件标志组,但不知道当前有多少个任务在等待此事件标志,这个操作即为不确定性操作,为了不在中断服务程序中执行此不确定性操作,只在中断服务程序中给一确定 ...
- JDK源码分析(1)ArrayList
JDK版本 ArrayList简介 ArrayList 是一个数组队列,相当于 动态数组.与Java中的数组相比,它的容量能动态增长.它继承于AbstractList,实现了List, RandomA ...
- 使用fiddler模拟http请求
概述 与httpwath相比,fiddler能模拟http请求.能断点调试.http分析统计吸引了我,使用之后感觉这个工具非常不错,这篇文章只单介绍一下fiddler工作原理,简单介绍一下它的重要功 ...
- 从C,C++,JAVA和C#来看String库的发展(二)---JAVA和C#篇
http://www.cnblogs.com/wenjiang/p/3272859.html 终于要进入面向对象的世界了,虽然C++也是面向对象,但是它的面向对象程度并不高,因为考虑到要兼容C语言的移 ...
- ffmpeg 在ubuntu上编译环境搭建和开发
步骤如下: 1. 下载 官网永远是王道,呵呵:http://ffmpeg.org/download.html 或者 svn checkout svn://svn.mplayerhq.hu/ffmpeg ...
- 省选前的th题
沙茶博主终于整完了知识点并学完了早该在NOIP之前学的知识们 于是终于开始见题了,之前那个奇怪的题单的结果就是这个了 题目按沙茶博主的做题顺序排序 个人感觉(暂时)意义不大的已被自动忽略 洛谷 491 ...
- CF294C Shaass and Lights
题目大意: 有n盏灯,(0<=n<=1000),有m盏已经点亮,每次只能点亮与已经点亮的灯相邻的灯,求总方案数,答案对1e9+7取模 第一行:两个整数n,m表示灯的总数和已点亮的灯的数目 ...