Android 视频截图

static public Bitmap getVideoThumbnail(ContentResolver cr, String path) {
        Bitmap bitmap = null;
        BitmapFactory.Options options = new BitmapFactory.Options();
        options.inDither = false;
        options.inPreferredConfig = Bitmap.Config.RGB_565;
        //select condition.
        String whereClause = MediaStore.Video.Media.DATA + " = '"
        + path + "'";
        Log.v(TAG, "where = " + whereClause);
        //colection of results.
        Cursor cursor = cr.query(MediaStore.Video.Media.EXTERNAL_CONTENT_URI,
                new String[] { MediaStore.Video.Media._ID }, whereClause,
                null, null);
        Log.v(TAG, "cursor = " + cursor);
        if (cursor == null || cursor.getCount() == 0) {
            return ThumbnailUtils.createVideoThumbnail(path, MediaStore.Video.Thumbnails.MINI_KIND);
        }
        cursor.moveToFirst();
        //image id in image table.
        String videoId = cursor.getString(cursor
                .getColumnIndex(MediaStore.Video.Media._ID));
        Log.v(TAG, "videoId = " + videoId);
        if (videoId == null) {
            return ThumbnailUtils.createVideoThumbnail(path, MediaStore.Video.Thumbnails.MINI_KIND);
        }
        cursor.close();
        long videoIdLong = Long.parseLong(videoId);
        //via imageid get the bimap type thumbnail in thumbnail table.
        bitmap = MediaStore.Video.Thumbnails.getThumbnail(cr, videoIdLong,
                Images.Thumbnails.MICRO_KIND, options);
        Log.v(TAG, "bitmap = " + bitmap);
        return bitmap;
    }

你可能感兴趣的:(Android 视频截图)