Android:通过ThumbnailUtils类获取视频文件的缩略图

在视频播放器上经常会看到,有很多的视频缩略图,本文讲的就是通过ThumbnailUtils类获取视频文件的缩略图;

运行截图如下:

代码如下:

MainActivity.java:

package com.vrinux.thumbnailutilsdemo;import android.app.Activity;import android.graphics.Bitmap;import android.media.ThumbnailUtils;import android.os.Bundle;import android.os.Environment;import android.provider.MediaStore;import android.widget.ImageView;{//定义一个ImageView对象imgObj;private ImageView imgObj;(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.activity_main);//获取对象imgObj;imgObj = (ImageView) findViewById(R.id.imgid);//定义一个视频文件路径;String filePath = null;//视频文件的名字;String filename = “video.3gp”;//判断SDCard是否挂载;由于Android版本的挂载路径不尽相同,所以建议使用一下的方法判断;if (Environment.getExternalStorageState().equals(Environment.MEDIA_MOUNTED)) {//获取SDCard根的路径String sdPath = Environment.getExternalStorageDirectory().getPath();//将SDCard根路径和文件名组装得到视频文件的路径;filePath = sdPath + “/” + filename;//调用下面定义的方法,获得指定大小的视频截图;//最后的参数本人不太清楚是什么意思,只是这么用,其源码并非开源;Bitmap bitmap = getVidioBitmap(filePath, 400, 400,MediaStore.Images.Thumbnails.MICRO_KIND);//将获得的位图用imgObj显示;imgObj.setImageBitmap(bitmap);}}public Bitmap getVidioBitmap(String filePath, int width, int height,int kind) {//定義一個Bitmap對象bitmap;Bitmap bitmap = null;//ThumbnailUtils類的截取的圖片是保持原始比例的,但是本人發現顯示在ImageView控件上有时候有部分沒顯示出來;//調用ThumbnailUtils類的靜態方法createVideoThumbnail獲取視頻的截圖;bitmap = ThumbnailUtils.createVideoThumbnail(filePath, kind);//調用ThumbnailUtils類的靜態方法extractThumbnail將原圖片(即上方截取的圖片)轉化為指定大小;//最後一個參數的具體含義我也不太清楚,因為是閉源的;bitmap = ThumbnailUtils.extractThumbnail(bitmap, width, height,ThumbnailUtils.OPTIONS_RECYCLE_INPUT);//放回bitmap对象;return bitmap;}}

activity_main.xml:

==”vertical” ><ImageView=”wrap_content” /></LinearLayout>

,到尽头,也许快乐,或有时孤独,如果心在远方,

Android:通过ThumbnailUtils类获取视频文件的缩略图

相关文章:

你感兴趣的文章:

标签云: