1 需求

遍历一个文件夹,需要获取音视频的时长和视频的第一帧图像

2 关键代码实现

获取本地音视频的时长(这里计算出来的是秒为单位),如果文件不是音视频,下面的函数会发生异常,也就是返回0,我们除了通过文件头来判断这个文件是音视频之后,然后再获取这个文件的时长,如果下面的函数时长返回大于0,说明这个文件是音视频文件。

    /*** get Local video and audio duration** @return*/public static int getLocalVideoDuration(String videoPath) {//时长(毫秒)int duration;try {MediaMetadataRetriever mmr = new  MediaMetadataRetriever();mmr.setDataSource(videoPath);duration = Integer.parseInt(mmr.extractMetadata(MediaMetadataRetriever.METADATA_KEY_DURATION))/1000;} catch (Exception e) {e.printStackTrace();return 0;}return duration;}

然后我们如果发现文件的

Android之通过文件绝对路径获取音视频的时长和视频的缩略图相关推荐

  1. android系统通过图片绝对路径获取URI的三种方法

    老马的技术博客 android系统通过图片绝对路径获取URI的三种方法 最近做项目要通过图片的绝对路径找到图片的URI,然后删除图片,小小总结一下获取URI的方法,亲自试验在 android 4.1. ...

  2. Java使用FFmpeg(自定义cmd)系列之获取视频/音频时长(File文件方式)

    ffmpeg系列 Java使用FFmpeg(自定义cmd) Java使用FFmpeg(自定义cmd)系列之获取视频/音频时长 Java使用FFmpeg(自定义cmd)系列之官方API获取视频/音频信息 ...

  3. 关于java 上传的音频或视频文件获取时长及视频封面

    1.引入依赖,由于在Github上面的maven依赖,下载不下来,需要手动下载jar,然后安装到本地的maven仓库 <!-- https://mvnrepository.com/artifac ...

  4. java通过url获取到上传音视频的时长

    由于项目需求,需要从上传的音视频文件中获取到对应的时长展示,苦苦找寻,终于完成了需求,固记录下此以供日后学习巩固.(参考网址放在最后) 第一步,在pom.xml中加入ws.schild的相关依赖 &l ...

  5. Python获取.wav音频的时长

    要求是这样的: 给你一个.wav的音频,要求获取这个音频的时长.这里需要用到两个模块,contextlib和 wave. 方法1: import contextlib import wave file ...

  6. python中使用ffmpeg进行视频指定时长截断(解决剪切后音视频不同步的问题)

    1. 获取视频时长 有两种方式获取视频总时长: python-ffmpeg( 获取的是视频总秒数 ) video_time = float(ffmpeg.probe(video)['format'][ ...

  7. 仿抖音截取音频时长的控件

    视频中添加背景音乐,需要截取出和视频相同时长的音频,这是我们仿抖音截取音频的例子. 先来看看效果把: 1.首先是布局文件: <?xml version="1.0" encod ...

  8. pom.xml中java-1.0.2.jar引入并获取视频的时长、大小、格式等信息百分百可行

    java-1.0.2.jar引入并获取视频的时长.大小.格式等信息百分百可行 前言 最近因为自己在整理一个小项目(系列传送门:Spring Cloud Hoxton 版本微服务项目搭建eureka注册 ...

  9. ffprobe 获取视频每秒总帧数或视频总帧数及视频总时长

    获取每秒总帧数: ffprobe -v 0 -of csv="p=0" -select_streams V:0 -show_entries stream=r_frame_rate ...

最新文章

  1. ORACLE 12C PDB部分功能测试
  2. J2EE Java泛型的好处
  3. java二期_Java架构师鲁班二期
  4. “老四”网易云音乐急上市:一个音乐APP的终点站?
  5. CDH HUE集成MySQL
  6. python time.sleep()-睡眠线程还是进程?
  7. 安装mysql后环境变量_环境变量配置2 安装mysql
  8. verilog中generate语句的使用
  9. C语言学习:C语言编译流程
  10. Android GPS开发总结
  11. 顺丰科技机器学习面试
  12. moments音标_moment是什么意思_moment的翻译_音标_读音_用法_例句_爱词霸在线词典...
  13. 关于港股通交易的规则
  14. DATABASE SYSTEM CONCEPTS
  15. TCP/IP四层模型、HTTP、HTTPS、TCP
  16. 移动端多了企业还需要做seo吗
  17. Matlab里for循环详解
  18. Functional Programming For The Rest of Us 翻译,重译 (剩人们的函数式编程)
  19. 【实景三维重建】什么是实景三维重建,应用于哪些领域
  20. 电商领域如此火爆,大咖们都在做的无货源到底是什么?

热门文章

  1. .NET6之MiniAPI(五):选项
  2. 里程碑!中文版.NET官网发布,.NET开发起飞!
  3. Magicodes.IE Excel合并行数据导入教程
  4. C#多线程和异步(二)——Task和async/await详解
  5. 被 C# 的 ThreadStatic 标记的静态变量,都存放在哪里了?
  6. 不要错过这轮疫情的“洗牌”机会
  7. ASP.NET 开源导入导出库Magicodes.IE Docker中使用
  8. 【C#】设计模式的学习征途系列文章目录(2019版)
  9. 5门可能衰落的编程语言
  10. 用.NET Core实现一个类似于饿了吗的简易拆红包功能