歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
您现在的位置: Linux教程網 >> UnixLinux >  >> Linux編程 >> Linux編程

Android系統詳解之獲取圖片和視頻的縮略圖

從Android 2.2開始系統新增了一個縮略圖ThumbnailUtils類,位於framework的android.media.ThumbnailUtils位置,可以幫助我們從mediaprovider中獲取系統中的視頻或圖片文件的縮略圖,該類提供了三種靜態方法可以直接調用獲取。

1.

static Bitmap createVideoThumbnail(String filePath, int kind) //獲取視頻文件的縮略圖,第一個參數為視頻文件的位置,比如/sdcard/android123.3gp,而第二個參數可以為MINI_KIND或 MICRO_KIND最終和分辨率有關

2.

static Bitmap extractThumbnail(Bitmap source, int width, int height, int options) //直接對Bitmap進行縮略操作,最後一個參數定義為OPTIONS_RECYCLE_INPUT ,來回收資源

3.

static Bitmap extractThumbnail(Bitmap source, int width, int height) // 這個和上面的方法一樣,無options選項

獲取手機裡視頻縮略圖:

public static Bitmap getVideoThumbnail(ContentResolver cr, Uri uri) { 
        Bitmap bitmap = null; 
        BitmapFactory.Options options = new BitmapFactory.Options(); 
        options.inDither = false; 
        options.inPreferredConfig = Bitmap.Config.ARGB_8888; 
        Cursor cursor = cr.query(uri,new String[] { MediaStore.Video.Media._ID }, null, null, null); 
     
        if (cursor == null || cursor.getCount() == 0) { 
            return null; 
        } 
        cursor.moveToFirst(); 
        String videoId = cursor.getString(cursor.getColumnIndex(MediaStore.Video.Media._ID));  //image id in image table.s 
 
        if (videoId == null) { 
        return null; 
        } 
        cursor.close(); 
        long videoIdLong = Long.parseLong(videoId); 
        bitmap = MediaStore.Video.Thumbnails.getThumbnail(cr, videoIdLong,Images.Thumbnails.MICRO_KIND, options); 
 
        return bitmap; 
        } 

Copyright © Linux教程網 All Rights Reserved