`
jacky-zhang
  • 浏览: 309881 次
  • 性别: Icon_minigender_1
  • 来自: 成都
社区版块
存档分类
最新评论

为多媒体文件生成缩略图

阅读更多
1、Video
对于视频,取第一帧作为缩略图,也就是怎样从filePath得到一个Bitmap对象。
private Bitmap createVideoThumbnail(String filePath) { 
        Bitmap bitmap = null; 
        MediaMetadataRetriever retriever = new MediaMetadataRetriever(); 
        try { 
            retriever.setMode(MediaMetadataRetriever.MODE_CAPTURE_FRAME_ONLY); 
            retriever.setDataSource(filePath); 
            bitmap = retriever.captureFrame(); 
        } catch(IllegalArgumentException ex) { 
            // Assume this is a corrupt video file 
        } catch (RuntimeException ex) { 
            // Assume this is a corrupt video file. 
        } finally { 
            try { 
                retriever.release(); 
            } catch (RuntimeException ex) { 
                // Ignore failures while cleaning up. 
            } 
        } 
        return bitmap; 
    } 

Android提供了MediaMetadataRetriever,由JNI(media_jni)实现。
看得出MediaMetadataRetriever主要有两个功能:MODE_GET_METADATA_ONLY和MODE_CAPTURE_FRAME_ONLY
这里设mode为MODE_CAPTURE_FRAME_ONLY,调用captureFrame取得一帧。
另外还有两个方法可以用:
extractMetadata 提取文件信息,ARTIST、DATE、YEAR、DURATION、RATING、FRAME_RATE、VIDEO_FORMAT
和extractAlbumArt 提取专辑信息,这个下面的音乐文件可以用到。

2、Music
对于音乐,取得AlbumImage作为缩略图,还是用MediaMetadataRetriever
private Bitmap createAlbumThumbnail(String filePath) { 
        Bitmap bitmap = null; 
        MediaMetadataRetriever retriever = new MediaMetadataRetriever(); 
        try { 
            retriever.setMode(MediaMetadataRetriever.MODE_GET_METADATA_ONLY); 
            retriever.setDataSource(filePath); 
            byte[] art = retriever.extractAlbumArt(); 
            bitmap = BitmapFactory.decodeByteArray(art, 0, art.length); 
        } catch(IllegalArgumentException ex) { 
        } catch (RuntimeException ex) { 
        } finally { 
            try { 
                retriever.release(); 
            } catch (RuntimeException ex) { 
                // Ignore failures while cleaning up. 
            } 
        } 
        return bitmap; 
    } 

retriever.extractAlbumArt()得到的是byte数组,还需要一步用BitmapFactory编码得到Bitmap对象。

3、Image
图片就很简单了
       
Bitmap bm = null; 
        Options op = new Options(); 
        op.inSampleSize = inSampleSize; 
        op.inJustDecodeBounds = false; 
        bm = BitmapFactory.decodeFile(mFile.getPath(), op); 

能直接得到Bitmap对象,把图片缩小到合适大小就OK。
同样上面的Video和Music,retrive到Bitmap后也需要缩小处理。
转载于http://blog.csdn.net/zhjp4295216/archive/2010/08/25/5838466.aspx
分享到:
评论

相关推荐

    龙卷风缩略图水印组件

    龙卷风缩略图水印组件1.0版功能特点:1.支持从bmp位图,jpeg,gif导入2.仅支持生成jpeg格式3.文字水印,支持自定义字体,旋转角度,颜色,字体宽度和高度4.图片水印,支持透明度5.暂时不支持直接将文件流写入浏览器6.消耗...

    Video Thumbnails Maker(视频缩略图制作) v4.0.0.3.zip

    Video Thumbnails Maker(视频缩略图制作软件)是一款可以帮助你快速的制作视频文件的缩略图的免费软件,Video Thumbnails Maker可用于家庭视频编目和网络视频共享的支持,程序虽然是英文的,但是非常容易使用,无需做...

    Mediaviewerandorganiser基于Web的多媒体查看器和组织者

    基于Web的界面 视频,gif和图像支持 标记媒体 各种形式的搜索(加权关键字,标签选择,表达) 元数据支持Artist / Album / Title ...为所有媒体生成缩略图 为网页浏览器兼容性自动转码视频 Electron 支持

    DotNetTextBox所见即所得编辑器控件 v3.4.0 开源版

    6)上传图片支持添加文字水印、图片水印、生成缩略图,上传多媒体文件支持自动播放。 7)提供近50种的在线编辑功能供用户自由搭配,通过配置config文件即可像堆积木一样简单地组成自己独有的编辑器控件。 8)预置两套...

    Xnview v2.34 注册码

    XnView是一个图像浏览器和多媒体播放器。...可以批量转换文件格式,创建缩略图并生成网页,还可自己制作GIF,小巧实用。 选择安装“资源管理器右键菜单扩展插件”,可在资源管理器右键菜单中增加图片预览功能!

    XnView_2.04

    XnView是一个图像浏览器和多媒体播放器。...可以批量转换文件格式,创建缩略图并生成网页,还可自己制作GIF,小巧实用。 选择安装“资源管理器右键菜单扩展插件”,可在资源管理器右键菜单中增加图片预览功能!

    CD2HTML v5.0

    软件介绍 可以将 CD 里面的全部目录和文件索引生成为 HTML 文件,HTML 文件中含有所有文件的连接、图标或者是图形文件的缩略图。 Tags: CD2HTML

    Videonizer Platinum7.0(多功能视频管理工具)是一款非常专业的视频管理工具.rar

    已更改: “缓存缩略图”和“选择当前动画帧”设置已从“设置”窗口移至“多媒体视图设置”窗口。 改变了:很少有化妆品变化。 修复:当PC上未安装Microsoft Visual C ++ 2010 Redistributable Package(x86)时,...

    XnView V2.x Keygen

    可以批量转换文件格式,创建缩略图并生成网页,还可自己制作GIF,小巧实用。 选择安装“资源管理器右键菜单扩展插件”,可在资源管理器右键菜单中增加图片预览功能! 最轻量级、几乎支持所有图片格式的批量转换和...

    C#开发实例大全(基础卷).软件开发技术联盟(带详细书签) PDF 下载

    实例009 为项目添加DLL文件引用 11 实例010 为项目添加已有类 12 实例011 为项目添加第三方控件 13 实例012 为项目添加已有窗体 14 第2章 C#语言基础应用 15 2.1 代码的注释 16 实例013 对单行代码进行注释 16 实例...

    免费图像查看器浏览器转换器 IrfanView 4.56 + x64 中文多语免费版.zip

    可以制作缩略图,可以把多个图片快速生成html网页 其他…… and many more 关于如何解决IrfanView官方中文乱码的问题,当我们使用官方的中文包使其中文时,在默认下,可能会出现乱码的问题,解决的办法是,在选择...

    MiniVideo:在CC ++中从头开始开发的多媒体框架,与测试程序和简洁的媒体分析器捆绑在一起

    其目标是生成视频缩略图,其源代码易于阅读并能够出于学习目的而理解。 一个清理过程后,代码已经与httv基于LGPL v3的许可权限(视频框架)和GPLv3的(测试软件)2014年初出版。 迷你视频库可以: 使用各种容器...

    VC++.NET案例开发集锦源代码.part1

    案例10 生成缩略图 案例11 透明的窗体 案例12 修改图像的分辨率 案例13 Windows涂鸦程序 案例14 抓取指定区域的图像 案例15 动画范例——飞碟绑架地球人 第三章 多媒体应用 案例1 flash 动画播放器 案例2...

    经典免费实用看图浏览管理转换工具 XnView 2.49.2 中文完整版.zip

    可以批量转换文件格式,创建缩略图并生成网页,还可自己制作GIF,小巧实用。 选择安装“资源管理器右键菜单扩展插件”,可在资源管理器右键菜单中增加图片预览功能! 经典免费实用看图浏览/管理/转换工具 XnView ...

    网管教程 从入门到精通软件篇.txt

    AST:Astound多媒体文件;ClarisWorks“助手”文件 Axx:ARJ压缩文件的分包序号文件,用于将一个大文件压至几个小的压缩包中(xx取01-99的数字) A3L:Authorware 3.x库文件 A4L:Authorware 4.x库文件 A5L:...

    主智CMS企业建站系统 v3.0 build 091127.rar

    (8)图片资源自动缩略图(Thumbnail)处理,对于大尺寸图象资源,自动缩小并生成原始大尺寸图片链接。 (9)TinyMCE 内容编辑器,所见即所得,生成符合 W3C 标准的 XHTML 代码。 (a)My CSS 功能,您可以自定义 CSS 并...

Global site tag (gtag.js) - Google Analytics