mediaMetadataRetriever.setDataSource throws illegal argument exception

Android多媒体框架之MediaMetadataRetriever MediaMetadataRetriever是Android原生提供的获取音视频文件信息的一个类,我们可以通过这个类的相关方法获取一些基本信息,如视频时长、宽高、帧率、方向、某一帧的图片等。 初始化 MediaMetadataRetriever retriever = new MediaMetadataRetriever(); retriever.setDataSource("");//设置视频路径 基本信息 (1)public String extractMetadata (int k 阅读详情

获取视频中某一帧的图片抛出参数异常


先贴上解决方法

public static Bitmap retriveVideoFrameFromVideo(String videoPath)
                throws Throwable
        {
            Bitmap bitmap = null;
            MediaMetadataRetriever mediaMetadataRetriever = null;
            try
            {
                mediaMetadataRetriever = new MediaMetadataRetriever();
                if (Build.VERSION.SDK_INT >= 14)
                    mediaMetadataRetriever.setDataSource(videoPath, new HashMap<String, String>());
                    else
                        mediaMetadataRetriever.setDataSource(videoPath);
             //   mediaMetadataRetriever.setDataSource(videoPath);
                bitmap = mediaMetadataRetriever.getFrameAtTime();
            }
            catch (Exception e)
            {
                e.printStackTrace();
                throw new Throwable(
                        "Exception in retriveVideoFrameFromVideo(String videoPath)"
                                + e.getMessage());

            }
            finally
            {
                if (mediaMetadataRetriever != null)
                {
                    mediaMetadataRetriever.release();
                }
            }
            return bitmap;
        }

可知根据安卓版本的不同采用不用的方法。api大于14的时候要传

new HashMap<String, String>()

【PCL点云配准】位姿估计 本文介绍了PCL(Point Cloud Library)中TransformationEstimation模块的核心算法原理和实现方法。该模块通过多种子类(如SVD、LM、双四元数等)提供点云配准功能,支持2D/3D刚性变换估计。主要内容包括:1)各类变换估计算法的数学原理和实现细节;2)点对点/点对面两种误差度量方法;3)线性闭式解和非线性迭代两种求解方式;4)变换验证机制;5)基于三点法的完整代码示例。该模块广泛应用于SLAM、三维重建等领域,为点云配准提供了高效可靠的解决方案。 阅读详情

相关推荐

scanpy单细胞转录组python教程(四):单样本数据分析之降维聚类及细胞注释

本文介绍了使用scanpy进行单细胞转录组分析的降维聚类和细胞注释流程。首先通过PCA降维并可视化主成分贡献,然后使用不同分辨率参数(0.2-1.0)进行Leiden聚类。通过Wilcoxon检验鉴定marker基因,并基于经典marker基因手动注释细胞类型。最后对低质量细胞群进行过滤,并重新计算邻居图和UMAP可视化。流程中包含PCA方差分析、多分辨率聚类比较、marker基因筛选和基于UMAP的细胞类型可视化等关键步骤,为后续分析奠定基础。

qq_42090739的博客 941

使用MediaMetadataRetriever的setDataSource方法抛出IllegalArgumentException异常

最近在使用MediaMetadataRetriever的setDataSource方法时,老是抛出IllegalArgumentException异常,上网查了一番,发现出现这个异常的原因无非就是两大点: 1、文件路径不对 2、文件访问权限不够 结合这两点原因我排查了一下,发现确实是我的权限不够导致的,因为我测试时使用的Android 10.0的手机,虽然我已经动态申请了权限,但是Android10对权限的管理更加严格了,主要有以下两点: 1、权限按单个分配,不再按组分配,以前申请了读存储卡权限,.

了解—学习—进步—满足 1677

电商秒杀场景下,如何用Redis+Lua脚本实现原子性库存扣减(附完整代码)

本文针对电商秒杀场景下的高并发与超卖难题,详细解析了如何利用Redis的原子性命令与Lua脚本实现可靠的库存扣减。通过对比多种方案,阐述了Redis+Lua作为黄金搭档的技术原理,并提供了从基础扣减到预扣减模型的完整代码实现,确保在高并发下数据的一致性与系统性能。

weixin_29219539的博客 503

MediaMetadataRetriever使用错误报IllegalArgumentException

MediaMetadataRetriever使用错误报IllegalArgumentException

s19x242514的专栏 1108

docker配置国内镜像源

【代码】docker配置国内镜像源。

愿听风成曲 9614

华硕主板UEFI模式下安装Ubuntu与Windows双系统全攻略

本文详细讲解了在华硕主板UEFI模式下安装Ubuntu与Windows双系统的完整流程。从安装前的BIOS关键设置(如处理安全启动与CSM)、使用GPT分区表,到在Windows中安全分配空间、手动创建Ubuntu分区,最后完成引导配置,提供了避免常见错误的实用技巧,确保双系统稳定共存。

weixin_29199873的博客 345

MediaMetadataRetriever的用法

【代码】MediaMetadataRetriever的用法。

yinzhijiezhan的专栏 758

DataWorks数据安全治理最佳实践

DataWorks基于数据安全治理的常见思路,针对资产梳理、技术体系建设和运营体系建设,提供了一系列数据安全产品能力,您可通过“基础防护建设、数据安全防护措施及策略增强建设、数据安全持续运营”三个阶段在DataWorks上落地数据安全治理项目。参考本文启动数据安全治理项目前,建议您先了解DataWorks数据安全产品相关能力了解DataWorks数据安全产品能力后,您可参考如下三个阶段在DataWorks上落地数据安全治理项目。

soso1968的博客 1438

MediaMetadataRetriever

MediaMetadataRetriever是Android原生提供的获取音视频文件信息的一个类,我们可以通过这个类的相关方法获取一些基本信息,如视频时长、宽高、帧率、方向、某一帧的图片等。

yinzhijiezhan的专栏 1007

投第一篇SCIE英文期刊(详细步骤)

一个投稿SCIE英文期刊的过程

weixin_48849679的博客 1万+

人形机器人 vs 机器狗SLAM:FAST_LIO_LOCALIZATION_HUMANOID的差异化优化方向

《FAST_LIO_LOCALIZATION_HUMANOID在人形与机器狗应用中的差异化优化策略》摘要: 格灵深瞳开源的FAST_LIO_LOCALIZATION_HUMANOID系统针对人形机器人和机器狗提出了差异化优化方案。人形机器人需应对双足步态带来的周期性晃动,通过动态盲区滤波、二阶运动模型补偿步态相位畸变,并修复重力向量计算误差。机器狗则需解决四足高频运动挑战,包括设计自适应地面分割算法、抑制IMU高频振动噪声,以及基于足端接触序列的非匀速运动建模。二者在传感器配置(高度/视角)、运动频率(1-

Studying…… 325

Android MediaMetadataRetriever setDataSource failed: status = 0xFFFFFFEA

【Android设置头像,手机拍照或从本地相册选取图片作为头像】像微信、QQ、微博等社交类的APP,通常都有设置头像的功能,设置头像通常有两种方式:1,让用户通过选择本地相册之类的图片库中已有的图像,裁剪后作为头像。Android设置头像,手机拍照或从本地相册选取图片作为头像_android 头像拍照_zhangphil的博客-优快云博客。假设实现一个简单的功能,对传入要加载的path路径增加一定的筛选、容错或“重定向”,需要自定义一个模型,基于这个模型,让Glide自动匹配模型展开加载。

Zhang Phil 2003

AIGC算法工程师-面试八股文-2025年版本-算法八股文/工程八股文/开放式问题

​两年前整理了《AIGC算法工程师 面试八股文》,全网一共有100w读者看过,收到了很多小伙伴的催更。Diffusion的技术发展非常快,博主特意整理了最近两年最新的八股文,内容非常全面,涵盖算法八股文/工程八股文/开放式问题三个大类,希望能为求职的读者们带来帮助。

沉迷单车的追风少年 4185

Android:MediaMetadataRetriever之setDataSource(Context,Uri)

这个方法参数官方给出的说法是这样的 /** * Sets the data source as a content Uri. Call this method before * the rest of the methods in this class. This method may be time-consuming. * ...

CSU_Zipple的博客 5742

SIMATIC S7-1200, S7-1500 PID 控制[手册]

SIMATIC S7-1200, S7-1500 PID 控制[手册]

RU DOS版、EFI版32bit/64bit BIOS常用工具

DOS版、EFI版的RU工具,可用来查看IO、MEM、PCI、SMBIOS等资源。亲测在EFI SHELL下可用。

Android MediaMetadataRetriever的基础使用

MediaMetadataRetriever 读取多媒体元数据 —获取视频时长 音乐播放器通常需要获取歌曲的专辑、作者、标题、年代等信息,将这些信息显示到UI界面上,Android 提供统一的接口 MediaMetadataRetriever 解析媒体文件。 http://www.android-doc.com/reference/android/media/MediaMetadataRetriever.html String absolutePath = "/sdcard/sample.mp3"; M.

特立独行的博客 4783

SAP B1中文培訓教材_SDK

公司内部培训资料,对开发工具 ,DIAPI, UIAPI,Add-ON有详细解说

音视频开发系列(3)——全面了解Android MediaMetadataRetriever

该方法用于设置MediaMetadataRetriever要提取信息的数据源,path可以是本地文件路径或者网络URL地址。该方法用于提取指定的元数据信息,参数keyCode可以是预定义的一些常量,例如METADATA_KEY_TITLE表示音频的标题,METADATA_KEY_ARTIST表示音频的演唱者等等。其中,参数keyCode代表要提取的元数据信息类型,可以是预定义的一些常量值,也可以是自定义的键值。

一个码农的博客 2109

jre9下载 jdk9

(Java SE Runtime Environment 9.0) 9.0u175 官方最新版 【x86|x64】

MediaMetadataRetriever.setDataSource(本机方法)导致RuntimeException:status = 0xFFFFFFEA

无

weixin_52989161的博客 830

MediaMetadataRetriever导致ANR,RXJAVA处理方式

接上次异步处理AsyncTask处理MediaMetadataRetriever加载网络视频图片第一帧会ANR的问题,以下为RXJAVA处理方式: io.reactivex.Observable&lt;Bitmap&gt; observable = io.reactivex.Observable.create(new ObservableOnSubscribe&lt;Bitmap&gt;()...

fengchao1993的博客 1476

Kotlin拿Android本地视频缩略图

Kotlin拿Android本地视频缩略图 如何拿到本地视频? 怎么拿视频缩略图? 缩略图如何压缩? MediaMetadataRetriever可以通过视频系统路径,直接使用getFrameAtTime方法拿到第一帧作为缩略图 ThumbnailUtils.createVideoThumbnail其实也是使用的MediaMetadataRetriever,如下源码 Glide项目中一般会使用图片加载框架如Glide,它内部也是支持加载视频作为图片的,亦是使用MediaMetadataRetriever

让学习编程变得生动有趣~ 3588

Android MediaMetadataRetriever获取视频宽高,Java

文章浏览阅读914次。【Android设置头像,手机拍照或从本地相册选取图片作为头像】像微信、QQ、微博等社交类的APP,通常都有设置头像的功能,设置头像通常有两种方式:1,让用户通过选择本地相册之类的图片库中已有的图像,裁剪后作为头像。文章浏览阅读124次。【Android设置头像,手机拍照或从本地相册选取图片作为头像】像微信、QQ、微博等社交类的APP,通常都有设置头像的功能,设置头像通常有两种方式:1,让用户通过选择本地相册之类的图片库中已有的图像,裁剪后作为头像。

Zhang Phil 1299

安卓获取视频某一帧报错:getFrameAtTime: videoFrame is a NULL pointer的解决办法

安卓获取视频某一帧报错:getFrameAtTime: videoFrame is a NULL pointer的解决办法 前段时间项目中使用MediaMetadataRetriever库从视频中获取图片用于分析,用到了以下函数进行某个时间点处附近帧的提取。 media.getFrameAtTime(timeUS,MediaMetadataRetriever.OPTION_CLOSEST_SYNC); 使用时发现无论怎样修改第一个参数timeUS(毫秒为单位)都返回的是第一帧,同时只能获取一定量的图片,

qq_40017011的博客 5087

MediaMetadataRetriever类、方法以及使用详解

MediaMetadataRetriever类简单介绍(1)属于在android api的那个包下:`android.media.MediaMetadataRetriever` (2)类简单介绍: MediaMetadataRetriever类提供了用于从输入媒体文件检索帧和元数据的统一接口。 (3)这个是android提供的类,用来获取本地和网络media相关文件的信息 MediaMetadat

拼搏的少年的博客 2万+

什么?用MediaMetadataRetriever导致ANR了?看这里

需求:项目要求获取网络视频并获取视频第一帧展示在页面上 操作:简单,直接百度搜索,获悉 MediaMetadataRetriever retriever = new MediaMetadataRetriever(); retriever.setDataSource(params[0], new HashMap&lt;String, String&gt;());//这里插嘴,这个是获取网络...

fengchao1993的博客 2503

getFrameAtTime: videoFrame is a NULL pointer解决办法

报错前的代码: MediaMetadataRetriever mmr = new MediaMetadataRetriever(); mmr.setDataSource(path); Bitmap firstFrame = mmr.getFrameAtTime();解决报错的代码,修改为:

yaochangliang的博客 7673

Android如何获取视频的大小、视频宽高

MediaMetadataRetriever retriever = new MediaMetadataRetriever(); retriever.setDataSource(path); String width = retriever.extractMetadata(MediaMetadataRetriever.METADATA_KEY_VIDEO_WIDTH); //宽 String height = retriever.extractMetadata

易寻资料的博客 1236
上一篇: listview滑动时item背景变黑
下一篇: android studio aidl couldn't find import for class
闲人指路
博客等级 码龄12年 3粉丝 13原创
评论 1
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值