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>()

台达B3伺服电机485通讯的调试过程 最近上了一项目,没办法直接把B3伺服接到PLC上去,怎么办?偶说试下直接电脑通过100多米的485线控制好了,定型前的测试就这样展开了。 1、焊CN1口 如果不安装CN1,是开不了机的,要报很多错误,比如SERV EMG ALERT, 上限报警,下限报警什么的,怎么办?直接焊好CN1头子吧,烦了点,但是必要的。 主要接的是11,9,10,32,31,30几个脚,按照图上连接好就是了。 2、 接线路 按照上面的图,接上伺服电机线,编码器线,电源线,包括限位常闭开关、485连线等,就完.. 阅读详情

相关推荐

876-基于STM32的毫米波雷达智能睡眠监测系统

基于STM32的毫米波雷达智能睡眠监测系统通过非接触式毫米波雷达检测人体呼吸频率和体动次数,结合WIFI数据传输和OLED显示,实现睡眠质量分析与远程监控。系统核心功能包括生理参数采集、阈值设置、数据可视化及远程交互。

m0_50083169的博客 1543

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

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

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

Visual Studio Code 打开java项目

在 Visual Studio Code 中打开并运行一个 Java 项目之前,你需要确保你已经完成了一些初始设置。

2674

MediaMetadataRetriever使用错误报IllegalArgumentException

MediaMetadataRetriever使用错误报IllegalArgumentException

s19x242514的专栏 1108

Python实战:5分钟搞定VCF文件中每个样本的SNP统计(附bcftools安装指南)

本文介绍了三种高效统计VCF文件中每个样本SNP数量的Python方法,包括原生解析、结合bcftools的推荐方案以及使用PyVCF3专业库。特别推荐bcftools结合Python的方法,适用于中大型VCF文件,显著提升处理效率。文章还提供了bcftools安装指南和进阶统计技巧,帮助生物信息学分析人员快速完成SNP统计任务。

weixin_30555125的博客 494

微波无源器件 功分器1 新型方波导双模无功功分器

本名证明了一种基于有着特定功能的(dedicated)T性匹配元件(散射件)的进化结点的新型波导双模两路功分器的可行性。这个散射件,有着面向三个部分的匹配部分,提供了等效功分并且朝着对应的输出端口传输矩形波导的两个TE10/TE01正交模式。所提出的设计紧凑,易于比例变化并且能够级联来获得。

qq_45245770的博客 1391

MediaMetadataRetriever的用法

【代码】MediaMetadataRetriever的用法。

yinzhijiezhan的专栏 758

YOLO26改进策略【YOLO和Mamba】| 替换骨干 Mamba-YOLO26-L !!! 最新的发文热点

Vision Clue Merge模块在Mamba - YOLO模型中同样重要,主要负责在模型的下采样过程中处理特征图,为后续的特征融合和目标检测任务提供更有效的信息。

Limiiiing的博客 472

MediaMetadataRetriever

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

yinzhijiezhan的专栏 1007

Python爬虫技术应用:体育赛事直播数据抓取与分析

Web爬虫(Web Crawling)是一种通过模拟浏览器行为从网站获取数据的技术。发送请求:发送HTTP请求(通常是GET或POST请求)获取目标网页的HTML内容。解析网页:使用解析工具(如lxml)从HTML中提取出所需要的信息。存储数据:将抓取到的数据存储到数据库、文件或数据结构中,供后续分析和使用。数据分析与展示:使用数据分析工具(如PandasMatplotlib)对数据进行处理、清洗和可视化,生成有价值的报告和图表。Requests:用于发送静态网页的HTTP请求并获取响应。

2201_76125261的博客 1309

6-2 GPU GART 绑定机制与 TLB 失效

本文详细解析了AMD GPU的GART(Graphics Address Remapping Table)绑定机制实现。主要内容包括: 绑定流程:从ttm_tt_bind()到硬件PTE更新的完整调用链,重点分析amdgpu_gart_bind()函数实现。 关键函数: amdgpu_gart_bind():执行安全检查、记录映射关系、更新页表等操作 amdgpu_gart_map():将CPU页映射为多个GPU页并填充PTE amdgpu_gmc_set_pte_pde():处理硬件特定的PTE格式 内存

图形/计算GPU的驱动与虚拟化技术分享园地 2653

Android MediaMetadataRetriever setDataSource failed: status = 0xFFFFFFEA

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

Zhang Phil 2003

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

LinePhone3.2.7(android端最新版本) sip客户端

SIP客户端For android:LinePhone3.2.7(最新版本),官网地址:http://www.linphone.org/

OV9734 DATASHEET,完整规格书

OV9734完整规格书,包括电气参数,尺寸规格,寄存器配置表等

Android MediaMetadataRetriever的基础使用

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

特立独行的博客 4783

温度PID控制PLC程序

温度PID稳定控制程序,适用于欧姆龙PLC,对其他PLC也具有很大参考价值

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

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

一个码农的博客 2109

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、付费专栏及课程。

余额充值