源码网商城,靠谱的源码在线交易网站 我的订单 购物车 帮助

源码网商城

android 获取视频,图片缩略图的具体实现

  • 时间:2020-07-19 16:15 编辑: 来源: 阅读:
  • 扫一扫,手机访问
摘要:android 获取视频,图片缩略图的具体实现
1、获取视频缩略图有两个方法(1)通过内容提供器来获取(2)人为创建缩略图 (1)缺点就是必须更新媒体库才能看到最新的视频的缩略图 [java]
[u]复制代码[/u] 代码如下:
/**      * @param context      * @param cr      * @param Videopath      * @return      */     public static Bitmap getVideoThumbnail(Context context, ContentResolver cr, String Videopath) {              ContentResolver testcr = context.getContentResolver();              String[] projection = { MediaStore.Video.Media.DATA, MediaStore.Video.Media._ID, };              String whereClause = MediaStore.Video.Media.DATA + " = '" + Videopath + "'";              Cursor cursor = testcr.query(MediaStore.Video.Media.EXTERNAL_CONTENT_URI, projection, whereClause,                              null, null);              int _id = 0;              String videoPath = "";              if (cursor == null || cursor.getCount() == 0) {                      return null;              }              if (cursor.moveToFirst()) {                      int _idColumn = cursor.getColumnIndex(MediaStore.Video.Media._ID);                      int _dataColumn = cursor.getColumnIndex(MediaStore.Video.Media.DATA);                      do {                              _id = cursor.getInt(_idColumn);                              videoPath = cursor.getString(_dataColumn);                      } while (cursor.moveToNext());              }              cursor.close();             BitmapFactory.Options options = new BitmapFactory.Options();              options.inDither = false;              options.inPreferredConfig = Bitmap.Config.RGB_565;              Bitmap bitmap = MediaStore.Video.Thumbnails.getThumbnail(cr, _id, Images.Thumbnails.MINI_KIND,                              options);              return bitmap;      } /**      * @param context      * @param cr      * @param Videopath      * @return      */     public static Bitmap getVideoThumbnail(Context context, ContentResolver cr, String Videopath) {             ContentResolver testcr = context.getContentResolver();             String[] projection = { MediaStore.Video.Media.DATA, MediaStore.Video.Media._ID, };             String whereClause = MediaStore.Video.Media.DATA + " = '" + Videopath + "'";             Cursor cursor = testcr.query(MediaStore.Video.Media.EXTERNAL_CONTENT_URI, projection, whereClause,                             null, null);             int _id = 0;             String videoPath = "";             if (cursor == null || cursor.getCount() == 0) {                     return null;             }             if (cursor.moveToFirst()) {                     int _idColumn = cursor.getColumnIndex(MediaStore.Video.Media._ID);                     int _dataColumn = cursor.getColumnIndex(MediaStore.Video.Media.DATA);                     do {                             _id = cursor.getInt(_idColumn);                             videoPath = cursor.getString(_dataColumn);                     } while (cursor.moveToNext());             }             cursor.close();             BitmapFactory.Options options = new BitmapFactory.Options();             options.inDither = false;             options.inPreferredConfig = Bitmap.Config.RGB_565;             Bitmap bitmap = MediaStore.Video.Thumbnails.getThumbnail(cr, _id, Images.Thumbnails.MINI_KIND,                             options);             return bitmap;     }(2)人为创建缩略图要耗费一点时间
[java]
[u]复制代码[/u] 代码如下:
/**     * 获取视频缩略图     * @param videoPath     * @param width     * @param height     * @param kind     * @return     */    private Bitmap getVideoThumbnail(String videoPath, int width , int height, int kind){     Bitmap bitmap = null;     bitmap = ThumbnailUtils.createVideoThumbnail(videoPath, kind);     bitmap = ThumbnailUtils.extractThumbnail(bitmap, width, height, ThumbnailUtils.OPTIONS_RECYCLE_INPUT);     return bitmap;    }  /**      * 获取视频缩略图      * @param videoPath      * @param width      * @param height      * @param kind      * @return      */     private Bitmap getVideoThumbnail(String videoPath, int width , int height, int kind){   Bitmap bitmap = null;   bitmap = ThumbnailUtils.createVideoThumbnail(videoPath, kind);   bitmap = ThumbnailUtils.extractThumbnail(bitmap, width, height, ThumbnailUtils.OPTIONS_RECYCLE_INPUT);   return bitmap;     }
2、图片缩略图 [java]
[u]复制代码[/u] 代码如下:
/**     *      * @param context     * @param cr     * @param Imagepath     * @return     */    public static Bitmap getImageThumbnail(Context context, ContentResolver cr, String Imagepath) {             ContentResolver testcr = context.getContentResolver();             String[] projection = { MediaStore.Images.Media.DATA, MediaStore.Images.Media._ID, };             String whereClause = MediaStore.Images.Media.DATA + " = '" + Imagepath + "'";             Cursor cursor = testcr.query(MediaStore.Images.Media.EXTERNAL_CONTENT_URI, projection, whereClause,                             null, null);             int _id = 0;             String imagePath = "";             if (cursor == null || cursor.getCount() == 0) {                     return null;             }             if (cursor.moveToFirst()) {                     int _idColumn = cursor.getColumnIndex(MediaStore.Images.Media._ID);                     int _dataColumn = cursor.getColumnIndex(MediaStore.Images.Media.DATA);                     do {                             _id = cursor.getInt(_idColumn);                             imagePath = cursor.getString(_dataColumn);                     } while (cursor.moveToNext());             }             cursor.close();            BitmapFactory.Options options = new BitmapFactory.Options();             options.inDither = false;             options.inPreferredConfig = Bitmap.Config.RGB_565;             Bitmap bitmap = MediaStore.Images.Thumbnails.getThumbnail(cr, _id, Images.Thumbnails.MINI_KIND,                             options);             return bitmap;     }  /**      *      * @param context      * @param cr      * @param Imagepath      * @return      */     public static Bitmap getImageThumbnail(Context context, ContentResolver cr, String Imagepath) {             ContentResolver testcr = context.getContentResolver();             String[] projection = { MediaStore.Images.Media.DATA, MediaStore.Images.Media._ID, };             String whereClause = MediaStore.Images.Media.DATA + " = '" + Imagepath + "'";             Cursor cursor = testcr.query(MediaStore.Images.Media.EXTERNAL_CONTENT_URI, projection, whereClause,                             null, null);             int _id = 0;             String imagePath = "";             if (cursor == null || cursor.getCount() == 0) {                     return null;             }             if (cursor.moveToFirst()) {                     int _idColumn = cursor.getColumnIndex(MediaStore.Images.Media._ID);                     int _dataColumn = cursor.getColumnIndex(MediaStore.Images.Media.DATA);                     do {                             _id = cursor.getInt(_idColumn);                             imagePath = cursor.getString(_dataColumn);                     } while (cursor.moveToNext());             }             cursor.close();             BitmapFactory.Options options = new BitmapFactory.Options();             options.inDither = false;             options.inPreferredConfig = Bitmap.Config.RGB_565;             Bitmap bitmap = MediaStore.Images.Thumbnails.getThumbnail(cr, _id, Images.Thumbnails.MINI_KIND,                             options);             return bitmap;     }
  • 全部评论(0)
联系客服
客服电话:
400-000-3129
微信版

扫一扫进微信版
返回顶部