获取本地视频,网络视频的第一帧图片,并显示出来

简介: 获取本地视频,网络视频的第一帧图片,并显示出来

之前我也遇到过这样的需求,后来好多朋友都问过我,索性我就写出来,以后自己忘了,也可以当做笔记。


String path  = Environment.getExternalStorageDirectory().getPath();

MediaMetadataRetriever media = new MediaMetadataRetriever();

media.setDataSource(path+"/123.rmvb");

Bitmap bitmap = media.getFrameAtTime();

image = (ImageView)this.findViewById(R.id.imageView1);

image.setImageBitmap(bitmap);


这些也是我之前在网上搜出来的,下面的获取网络视频的第一帧也是。




这个是获取网络视频的第一帧图片


new Thread(new Runnable() {
    @Override
    public void run() {
        MediaMetadataRetriever mediaMetadataRetriever = new MediaMetadataRetriever();
        Bitmap bitmap = null;
        try {
            HashMap<String, String> params = new HashMap<>();
            params.put("Accept-Encoding", "gzip, deflate, sdch");
            params.put("Accept", "text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8");
            mediaMetadataRetriever.setDataSource(mediaPlayer.getCurrentURI().toString(), params);
            // 获取图片
            bitmap = mediaMetadataRetriever.getFrameAtTime(currentPlayPosition, MediaMetadataRetriever.OPTION_NEXT_SYNC);
            //将图片保持到相册中
            saveBitmapToGallery(bitmap);
        } catch (Exception e) {
            e.printStackTrace();
        } finally {
            mediaMetadataRetriever.release();
            if (bitmap != null) {
                bitmap.recycle();
            }
        }
    }
}).start();
————————————————
版权声明:本文为CSDN博主「程思扬」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/qq_25749749/article/details/73799811

如果Java.lang.RuntimeException: setDataSource failed: status = 0x80000000   报这个的错误,抓取视频流,看看流的头是什么,将之设置进来,然后就OK了。


下篇文章,我想写一下关于安卓studio中git的操作,我也处在学习阶段,一起加油!


目录
相关文章
|
3月前
|
缓存
Flutter Image从网络加载图片刷新、强制重新渲染
Flutter Image从网络加载图片刷新、强制重新渲染
114 1
|
3月前
|
机器学习/深度学习 监控 算法
基于深度学习网络的人员行为视频检测系统matlab仿真,带GUI界面
本仿真展示了基于GoogLeNet的人员行为检测系统在Matlab 2022a上的实现效果,无水印。GoogLeNet采用创新的Inception模块,高效地提取视频中人员行为特征并进行分类。核心程序循环读取视频帧,每十帧执行一次分类,最终输出最频繁的行为类别如“乐队”、“乒乓球”等。此技术适用于智能监控等多个领域。
70 4
|
3月前
|
监控 网络性能优化 网络架构
|
5月前
|
机器学习/深度学习 算法 计算机视觉
基于深度学习网络的USB摄像头实时视频采集与人脸检测matlab仿真
**摘要 (Markdown格式):** ```markdown - 📹 使用USB摄像头(Tttttttttttttt666)实时视频检测,展示基于YOLOv2在MATLAB2022a的实施效果: ``` Tttttttttttttt1111111111------------5555555555 ``` - 📺 程序核心利用MATLAB视频采集配置及工具箱(Dddddddddddddd),实现图像采集与人脸定位。 - 🧠 YOLOv2算法概览:通过S×S网格预测边界框(B个/网格),含坐标、类别概率和置信度,高效检测人脸。
|
4月前
|
JavaScript Java 测试技术
基于springboot+vue.js+uniapp的网络在线考试系统附带文章源码部署视频讲解等
基于springboot+vue.js+uniapp的网络在线考试系统附带文章源码部署视频讲解等
50 0
基于springboot+vue.js+uniapp的网络在线考试系统附带文章源码部署视频讲解等
|
4月前
|
编解码
Sora信息问题之Sora的视频压缩网络如何解决
Sora信息问题之Sora的视频压缩网络如何解决
59 0
|
4月前
|
机器学习/深度学习 算法 BI
基于深度学习网络的USB摄像头实时视频采集与手势检测识别matlab仿真
**摘要:** 本文介绍了使用MATLAB2022a实现的基于GoogLeNet的USB摄像头手势识别系统。系统通过摄像头捕获视频,利用深度学习的卷积神经网络进行手势检测与识别。GoogLeNet网络的Inception模块优化了计算效率,避免过拟合。手势检测涉及RPN生成候选框,送入网络进行分类。系统架构包括视频采集、手势检测与识别、以及决策反馈。通过GPU加速和模型优化保证实时性能,应用于智能家居等场景。
|
5月前
|
JavaScript Java 测试技术
基于ssm+vue.js+uniapp小程序的网络办公系统附带文章和源代码部署视频讲解等
基于ssm+vue.js+uniapp小程序的网络办公系统附带文章和源代码部署视频讲解等
49 8
|
4月前
|
JavaScript Java 测试技术
基于springboot+vue.js+uniapp的网络互联实验平台附带文章源码部署视频讲解等
基于springboot+vue.js+uniapp的网络互联实验平台附带文章源码部署视频讲解等
52 0
|
5月前
|
JavaScript Java 测试技术
基于ssm+vue.js+uniapp小程序的网络财务管理系统附带文章和源代码部署视频讲解等
基于ssm+vue.js+uniapp小程序的网络财务管理系统附带文章和源代码部署视频讲解等
49 6

热门文章

最新文章