关于获取视频宽高

最近一次需求是上传视频,并根据上传视频的宽高展示横屏或者竖屏的video控件,最初是用MediaMetadataRetriever类来获取视频的宽高

// An highlighted blockprivate fun measureWH() {val mmr = MediaMetadataRetriever()try {mmr.setDataSource(videoPath)val width = mmr.extractMetadata(MediaMetadataRetriever.METADATA_KEY_VIDEO_WIDTH)val height = mmr.extractMetadata(MediaMetadataRetriever.METADATA_KEY_VIDEO_HEIGHT)toast("宽-$width======高-$height")Log.d("宽高=====", "宽-$width======高-$height")} catch (e: Exception) {} finally {mmr.release()}}

但是测试了几次之后发现无论横屏竖屏的视频获取的宽高都是固定的


暂时没研究是哪里出现的问题,后来发现MediaMetadataRetriever有一个类可以获取视频第一帧的图片
然后想到可以把图片拿到然后取图片的宽高,从而可以知道视频的宽高

 private fun measureWH() {val mmr = MediaMetadataRetriever()try {mmr.setDataSource(videoPath)val bitmap = mmr.frameAtTimeif (bitmap != null) {mViewBinding.cover.setImageBitmap(bitmap)val bitWidth = bitmap.widthval bitHeight = bitmap.heightLog.d("bit宽高=====", "宽-$bitWidth======高-$bitHeight")}} catch (e: Exception) {} finally {mmr.release()}}

问题暂时解决,以后有时间可以研究下横屏竖屏的视频获取的宽高都是固定的问题

Android 获取视频宽高相关推荐

  1. Android获取屏幕宽高,状态栏宽高,actionbar宽高,layout宽高,导航栏高度的方法汇总

    看这个博客你可以知道 获取屏幕宽高,状态栏宽高,actionbar宽高,layout宽高,导航栏(虚拟按键栏)高度的方法 目录顺序为 代码测试的机型 状态栏高度 actionbar高度 屏幕高度 导航 ...

  2. android获取屏幕宽高与获取控件宽高

    1.获取屏幕宽高 方法1: int screenWidth = getWindowManager().getDefaultDisplay().getWidth(); // 屏幕宽(像素,如:480px ...

  3. android获取该控件在屏幕,android获取屏幕宽高与获取控件宽高(三种方法)

    1.获取屏幕宽高 方法1: int screenWidth = getWindowManager().getDefaultDisplay().getWidth(); // 屏幕宽(像素,如:480px ...

  4. 关于Android获取屏幕宽高、dp、sp、px之间的转化

    开发过程中,动态创建布局,或者自定义view,少不了需要获取屏幕宽高,这里的宽高指手机屏幕的分辨率,单位是px,而我们在布局文件中用到的空间宽高单位是dp,字体用的是sp. 这几个计量单位之间,是有关 ...

  5. Android获取View宽高的常见方式

    背景 有时我们会有基于这样的需求,当Activity创建时,调用View.getWidth.View.getHeight().View.getMeasuredWidth() .View.getgetM ...

  6. Android 获取屏幕宽高的正确姿势

    前言 在开发时,我们经常需要根据屏幕的宽高来进行对view的适配,无论是自定义view还是andorid自带的一些控件,比如说需要占当前屏幕高度的30%,就需要获取到屏幕的宽高,但在获取宽高时我遇到了 ...

  7. 获取屏幕的宽高 android,Android获取屏幕宽高的方法

    1. 实现代码 private intmWidth;private intmHeight; @TargetApi(Build.VERSION_CODES.JELLY_BEAN_MR1)public v ...

  8. video 宽高自适应_HTML5/CSS/jQuery video大小屏幕自适应及获取视频宽高

    今天的第一个任务,就是要让Video的大小能够满屏(适应父级div),换言之要判断高度.宽度,使之能够达到全屏的效果. 在过去的一个版本中,我们要想满屏,写了一段长长的js文件,来取高度宽度对比,之后 ...

  9. android利用反射调用截屏api,Android利用反射机制调用截屏方法和获取屏幕宽高的方法...

    想要在应用中进行截屏,可以直接调用 View 的 getDrawingCache 方法,但是这个方法截图的话是没有状态栏的,想要整屏截图就要自己来实现了. 还有一个方法可以调用系统隐藏的 screen ...

最新文章

  1. 第01章 PyTorch简介和安装 的学习笔记
  2. linux 检查权限,检查目录下 文件的权限-linux shell脚本,
  3. jQuery开发技巧
  4. 详解scss的继承、占位符和混合宏
  5. 【AI不惑境】网络的宽度如何影响深度学习模型的性能?
  6. 关于Git的一些经验总结
  7. 深度学习笔记(待续)
  8. python一键清屏_python添加清屏功能
  9. 机器学习速成课程 | 练习 | Google Development——编程练习:神经网络简介
  10. [文档]CSS中文字体对照表
  11. c语言爱心函数3D,C语言控制台打印3D爱心图案
  12. matlab get(gcf,'postion ')相关解释
  13. kettle 用cmd bat来运行ktr和kjb
  14. 黑电行业越来越难,海信、TCL、创维、康佳、长虹急需破局
  15. 自然语言处理中的Attention Model:是什么及为什么
  16. c语言scanf()的返回值
  17. 计算机网络安全技术复习知识点总结
  18. 第三章:fog(恐惧感 fear,责任感obligation,罪恶感guilty)
  19. Java自学资料!靠着这份面试题跟答案
  20. HTML编码、HTML解码

热门文章

  1. Flex/FlashBuilder4.5破解
  2. C++ primer笔记
  3. java使用world模板动态生成PDF文件
  4. 南京网预赛 11 BY bly
  5. 【项目篇-项目选题与类型】创赛项目来源、项目选题建议;四种常见类型项目各自内容的侧重点与区别
  6. 新松GCR 系列协作机器人 用户手册 (软件部分)
  7. 南瓜派php,南瓜派 巧克力塔
  8. 原始设备制造商OEM简介
  9. 网易163邮箱无法使用第三方客户端登录问题解决
  10. 快速更新android sdk,最新快速更新Android SDK方法:免费离线下载,离线更新SDK