获取视频缩略图

  1. 获取SD卡所有的视频文件路径
    “`
    public static ArrayList getAllVideoUrls(Context context){
    ArrayList allVideoUrls = new ArrayList();
    Uri mImageUri = MediaStore.Video.Media.EXTERNAL_CONTENT_URI;
    ContentResolver mContentResolver = context.getContentResolver();

    Cursor mCursor = mContentResolver.query(mImageUri, null, null, null,
            MediaStore.Video.Media.DEFAULT_SORT_ORDER);
    
    while (mCursor.moveToNext()) {
        String path = mCursor.getString(mCursor
                .getColumnIndex(MediaStore.Images.Media.DATA));
        allVideoUrls.add(path);
    }
    mCursor.close();
    return allVideoUrls;
    

    }


 2. 获取视频的缩略图
     1. `
     /**
     * 
     * @Title: getVideoThumbnail_one
     * @Description: 使用MediaMetadataRetriever获取视频的缩略图,
     *               getFrameAtTime()获取有代表性的视频帧位图
     *               getFrameAtTime(long timeUs) 获取特定时间的位图
     * @param path
     * @param time
     * @return
     * @return: Bitmap
     */
    public static Bitmap getVideoThumbnail_one(String path,int time){
         Bitmap bitmap = null;  
         MediaMetadataRetriever retriever = new MediaMetadataRetriever();  
         retriever.setDataSource(path);  
         bitmap = retriever.getFrameAtTime();  
         return bitmap;
    }

    2.
     /**
     * 此方法比上边的方法获取的缩略图小
     * @Title: getVideoThumbnail_two   
     * @Description: 通过ThumbnailUtils获取缩略图,提供的三个静态方法:
     *               createVideoThumbnail(String filePath, int kind):filepath:视频的路径;king:MICRO_KIND(微型)和MINI_KIND(迷你型)前者的分辨率更低
     *               extractThumbnail(Bitmap source, int width, int height, int options) //直接对Bitmap进行缩略操作,最后一个参数定义为OPTIONS_RECYCLE_INPUT ,来回收资源
     *               extractThumbnail(Bitmap source, int width, int height) // 这个和上面的方法一样,无options选项 
     * @param path
     * @return
     * @return: Bitmap
     */


    public static Bitmap getVideoThumbnail_two(String path){
        Bitmap bitmap = null;
        bitmap = ThumbnailUtils.createVideoThumbnail(path,
                MediaStore.Images.Thumbnails.MICRO_KIND);

//      bitmap = ThumbnailUtils.createVideoThumbnail(path,
//              MediaStore.Images.Thumbnails.MINI_KIND);
        // 获取视频的缩略图
        return bitmap;
    }


“`

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值