统计指定目录下的视频时长


package time;import java.io.File;import org.apache.log4j.Logger;import it.sauronsoftware.jave.Encoder;
import it.sauronsoftware.jave.EncoderException;
import it.sauronsoftware.jave.MultimediaInfo;public class Test2 {/* 支持的后缀 */private static final String[] SUFFIX_SUPPORT = { ".avi", ".mp4" };private static Logger logger = Logger.getLogger(Test2.class);private static long countTime = 0;public static void main(String[] args) throws EncoderException {/*if (args.length != 1) {throw new RuntimeException("参数错误");}*/String path="D:\\BaiduYunDownload\\视频";File file = new File(path);long ls = traverseFileGetLongTime(file);long hour = ls / 3600000;long min = (ls - hour * 3600000) / 60000;long sec = (ls - hour * 3600000 - min * 60000) / 1000;System.out.println("视频时长:" + hour + "时:" + min + "分:" + sec + "秒");}private static long traverseFileGetLongTime(File rootFile) throws EncoderException {if (rootFile.isDirectory()) {File[] files = rootFile.listFiles();for (File file : files) {traverseFileGetLongTime(file);}} else {if (isVideo(rootFile)) {countTime += getLongTime(rootFile);}}return countTime;}/*** 是否是视频文件* * @param rootFile*            文件* @return 是否是视频文件*/private static boolean isVideo(File rootFile) {String name = rootFile.getName();for (int i = 0; i < SUFFIX_SUPPORT.length; i++) {if (name.toLowerCase().endsWith(SUFFIX_SUPPORT[i])) {logger.debug("视频文件:" + rootFile.getAbsolutePath());return true;}}return false;}/*** 统计视频文件时长* * @param root* @return* @throws EncoderException*/public static long getLongTime(File root) throws EncoderException {long t = 0;Encoder encoder = new Encoder();MultimediaInfo multimediaInfo = encoder.getInfo(root);t += multimediaInfo.getDuration();return t;}}


需要依赖的jar包:

1、jave  下载地址:http://download.csdn.net/download/zengmingen/10016811

2、logger





本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/538314.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

怎么在cmd中运行python脚本_cmd中运行python脚本智能使用流程

(此时的ScaleMode自动变Vbuser)更有趣的是用来计算字串高、宽的TextHeight/TextWidth也变成以座标0-100的方式来表现了On Error Resume NextSet outstreemWscript.stdoutIf (LCase(Right(Wscript.fullname,11))"Wscript.exe") ThenSet objShellWscript.CreateObject(…

世界时钟 软件_Clocker for Mac(世界时钟软件)

Clocker for Mac是一款Mac平台上免费的世界时钟工具&#xff0c;方便我们查看世界各地的时间&#xff0c;它是开源免费的&#xff0c;完全没有广告。包括数百个时区&#xff0c;支持24小时制或AM / PM&#xff0c;macz提供Clocker mac免费版&#xff0c;欢迎前来下载&#xff0…

Mac 设置 NDK

2019独角兽企业重金招聘Python工程师标准>>> 1、首先查看我自己的android studio &#xff0c;找到以下路径 如上图&#xff0c;打开一个 AS 项目&#xff0c;file - project structure 这是我的3 个路径 Ndk /Users/dhbm/Library/Android/sdk/ndk-bundle Sdk /User…

Workbench has not been created yet

原因是&#xff1a;加载的插件变更后需要清理 在启动参数最后加入 -clean

oracle必须声明标识符函数,引用变量时需要必须声明标识符

SQL> declare2 pname emp.ename%type;3 psal emp.sal%type;4 begin5 select enmae,sal into pname,psal from emp where empno7782;6 dbms_output.put_line(pname||xsis||psal);7 end;8 /pname emp.ename%type;*第 2 行出现错误:ORA-06550: 第 2 行, 第 7 列:PLS-002…

四参数拟合曲线_每周放送|曲线拟合

曲线拟合No.1什么是曲线拟合所谓的曲线拟合&#xff0c;就是使用某一个模型(或者称为方程式)&#xff0c;将一系列的数据拟成平滑的曲线&#xff0c;以便观察两组数据之间的内在联系&#xff0c;了解数据之间的变化趋势。No.2曲线拟合的应用在数据分析时&#xff0c;我们有时需…

Spark集群运行jar包程序里的print日志哪里去了?

默认情况下&#xff0c;是输出到stdout里的。 方法一&#xff1a; 进入work所在机器的spark安装目录下的work目录&#xff0c;里面有日志输出。 方法二&#xff1a; 进入spark web ui 里 点击stdout就可以查看&#xff0c;如果没有可能在其他work上。

hibernate oracle clob 注解,Hibernate3.X实现基于CLOB字段类型的注解方式:

一&#xff1a;Hibernate3.X实现基于CLOB字段类型的注解方式的例子&#xff1a;下面直接上代码&#xff1a;二&#xff1a;UserInfo.javapackage cn.gov.csrc.cms.model;import javax.persistence.Basic;import javax.persistence.Column;import javax.persistence.Entity;impo…

Flutter下拉刷新,上拉加载更多数据

下拉刷新 很简单&#xff0c;直接使用 RefreshIndicator 组件&#xff0c; onRefresh 为重新获取数据的方法 Widget build(BuildContext context) {return Scaffold(body: Container(padding: EdgeInsets.all(2.0),child: RefreshIndicator(onRefresh: _refresh,backgroundColo…

qt 批量裁剪图片_照片变素描,不用下载App,好用的在线图片处理及图库

我们要处理图片时&#xff0c;无论是在电脑还是手机上&#xff0c;往往都需要下载软件&#xff0c;但如果你只是临时用一下的话&#xff0c;下载软件难免显得工程有点浩大。下面就推荐几个图片处理网站&#xff0c;打开网页就能用。1、图片处理 funny。pho。to这个网站提供了很…

Intellij IDEA15:建立Scala的Maven项目

原文链接&#xff1a;http://blog.csdn.net/silentwolfyh/article/details/51172369 ------------------------------------------------------------------------------------ 在创建Scala的Maven之前要安装JavaJDK 、 Scala 的JDK 、 Maven配置&#xff0c;请参考下面 Int…

linux临时启动进程命令,Linux常用命令(一)服务控制及优化启动过程

Linux常用命令(一)服务控制及优化启动过程一、Red hat系统开机引导过程1、linux操作系统的引导过程一般包括以下几个阶段&#xff1a;开机自检、MBR引导、GRUB菜单、加载Linux内核、init进程初始化。2、Linux系统中的进程使用数字进行标记&#xff0c;每个进程的身份标记号称为…

linux 解决端口占用

2019独角兽企业重金招聘Python工程师标准>>> 1. netstat -apn|grep 9876 2.kill -9 端口号 --------- java 在linux后台运行的命令 ------------- nohup java -jar demo-shiro-0.0.1-SNAPSHOT.jar >temp.txt & 转载于:https://my.oschina.net/likaixuan0/…

天锋w2019_什么样的商务手机才显得高端?这款天锋W2019可能适合你

不同的人群有不同的需求&#xff0c;不同于普通的手机用户&#xff0c;商务人士所需的手机需要能体现商务人士的身价。商务人士需要带着手机出入各种商务场所&#xff0c;进行会议、谈判、签约等商务事宜&#xff0c;一款普通的手机无法体现商务人士的高端和深度。同时商务人士…

IDEA中 @override报错的解决方法

原文路径&#xff1a;http://www.cnblogs.com/printN/p/6870036.html ------------------------------------ 今天用IDEA导入一个java工程时&#xff0c;碰上一个问题&#xff0c;代码中所有override处标红&#xff0c;并提示&#xff1a;override不支持对接口的实现。 网上百…

Linux目录的可写意味着,Linux权限分析 - osc_h5427nyq的个人空间 - OSCHINA - 中文开源技术交流社区...

在学习Linux的权限之前&#xff0c;我们先来理解几个概念:可读&#xff0c;可写 、可执行Linux的文件和目录有以下三种方式&#xff1a;r 、w 、x:可读&#xff0c;可写 、可执行r-可读(read)w-可写(write)x-可执行(execute)所有者 、所属组 、其他人Linux的文件和目录又可以有…

【深度学习篇】--Windows 64下tensorflow-gpu安装到应用

一、前述 一直以为自己的笔记本不支持tensflow-gpu的运行&#xff0c;结果每次运行模型都要好久。偶然间一个想法&#xff0c;想试试自己的笔记本&#xff0c;结果竟然神奇的发现能用GPU。于是分享一下安装步骤. 二、具体 因为版本之间有严格的对应关系&#xff0c;所以本文就将…

idea中Error:java: Compilation failed: internal java compiler error

Error:java: Compilation failed: internal java compiler error 原因是没有设置好 java compiler&#xff0c;检查下 File-----setting---compiler----java compoler

c#输入三个数选出最大的_C#写一个输入三个整数,按大到小顺序输出的小程序...

满意答案pf481549682013.07.05采纳率&#xff1a;52% 等级&#xff1a;12已帮助&#xff1a;9321人int[] arr new int[3];for (int i 0; i < arr.Length; i){Console.WriteLine("请输入第" (i 1) "个数");arr[i] Convert.ToInt32(Console.Read…

linux查询内核参数命令,Linux内核启动参数详解

1.环境:Ubuntu 16.04Linux linuxidc 4.4.0-89-generic #112-Ubuntu SMP Mon Jul 31 19:38:41 UTC 2017 x86_64 x86_64 x86_64 GNU/Linux2.查看当前linux内核的启动参数:cat /proc/cmdline笔者的输出内容如下:BOOT_IMAGE/boot/vmlinuz-4.4.0-89-generic rootUUIDbef418fa-4202-4…