android - 如何从 Android 中的 .mov 文件中获取缩略图?

标签 android bitmap android-contentresolver android-cursor mediastore

我使用以下代码获取JPGAVI 文件的缩略图,但无法从.mov 文件中获取缩略图。

String[] projection_image = { MediaStore.Images.Media.DATA, MediaStore.Images.Media._ID, };
            String[] projection_video = { MediaStore.Video.Media.DATA, MediaStore.Video.Media._ID, };

            File file = new File(viewTag.mFileNode.mName) ;
            String tempfilePath = file.getPath();

            String whereClause_image = MediaStore.Images.Media.DATA + " = '" + tempfilePath + "'";
            String whereClause_video = MediaStore.Video.Media.DATA + " = '" + tempfilePath + "'";

            ContentResolver cr = getActivity().getContentResolver();
            Cursor image_cursor = cr.query(MediaStore.Images.Media.EXTERNAL_CONTENT_URI, projection_image, whereClause_image, null, null);
            Cursor video_cursor = cr.query(MediaStore.Video.Media.EXTERNAL_CONTENT_URI, projection_video, whereClause_video, null, null);

            try {

                if(image_cursor.moveToFirst()){
                    long thumID = image_cursor.getLong(image_cursor.getColumnIndex("_ID"));
                    Bitmap bitmap_image = MediaStore.Images.Thumbnails.getThumbnail(getActivity().getContentResolver(), thumID, Images.Thumbnails.MICRO_KIND, null);

                    viewTag.mThumbnail.setImageBitmap(bitmap_image) ;

                }

                if(video_cursor.moveToFirst()){
                    long thumID = video_cursor.getLong(video_cursor.getColumnIndex("_ID"));
                    Bitmap bitmap_video = MediaStore.Video.Thumbnails.getThumbnail(getActivity().getContentResolver(), thumID, Video.Thumbnails.MICRO_KIND, null);
                    viewTag.mThumbnail.setImageBitmap(bitmap_video) ;               
                }

            } catch (NullPointerException e) {
                // TODO: handle exception
                Log.i(TAG, "cursor---NullPointerException");

                image_cursor = cr.query(MediaStore.Images.Media.EXTERNAL_CONTENT_URI, projection_image, whereClause_image, null, null);
                video_cursor = cr.query(MediaStore.Video.Media.EXTERNAL_CONTENT_URI, projection_video, whereClause_video, null, null);

            } finally{
                image_cursor.close();
                video_cursor.close();
            }

有人知道如何在 Android 中使用 MediaStore 从 .mov 文件中获取缩略图吗?

最佳答案

Bitmap thumb = ThumbnailUtils.createVideoThumbnail(path,
    MediaStore.Images.Thumbnails.MINI_KIND);

关于android - 如何从 Android 中的 .mov 文件中获取缩略图?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21694219/

相关文章:

c# - 使用不同的编码器选择格式时删除 EXIF 不起作用

android - 如何在 Android 和 Linux 上将 JPG 文件解码为相同的位图?

android getContentResolver().notifyChange() 不重启我的装载机

android - 无法使用gradle获取Twitter结构依赖

android - 在 Android 2.3 中编辑位图

Android AWS Amplify - 库尝试调用用户回调两次,预计只有一次

android - 如何实现只读的ContentProvider?

android - getContentResolver().delete 不起作用

android - Android中的身份验证问题

android - 如何在不耗尽内存的情况下在 droid 中制作益智应用程序?