如何从Android上的原始文件夹视频中获取视频图钉

问题描述 投票:7回答:3

在我的应用程序中,我需要显示存储在res / raw文件夹中的视频缩略图。我搜寻了一下。我得到以下代码。

int id = **"The Video's ID"**
ImageView iv = (ImageView ) convertView.findViewById(R.id.imagePreview);
ContentResolver crThumb = getContentResolver();
BitmapFactory.Options options=new BitmapFactory.Options();
options.inSampleSize = 1;
Bitmap curThumb = MediaStore.Video.Thumbnails.getThumbnail(crThumb, id,    MediaStore.Video.Thumbnails.MICRO_KIND, options);
iv.setImageBitmap(curThumb);

通过此代码,我从sdcard获得了视频指尖。但是来自res / raw文件夹的视频不显示视频缩略图。我尝试了很长时间,但找不到解决方案。我以以下方式尝试过。

我创建一个数组并存储资源ID(例如:int[] videoid={R.raw.vi1,...}),并将ID放入MediaStore.Video.Thumbnails.getThumbnail(crThumb, videoid[position], MediaStore.Video.Thumbnails.MICRO_KIND, options);.

请帮助我。预先感谢。

android android-video-player
3个回答
19
投票

您可以尝试像这样从视频中获取一些帧:

    Uri  videoURI = Uri.parse("android.resource://" + getPackageName() +"/"
            +R.raw.cashword_video);
    MediaMetadataRetriever retriever = new MediaMetadataRetriever();
    retriever.setDataSource(this, videoURI);
    Bitmap bitmap = retriever
          .getFrameAtTime(100000,MediaMetadataRetriever.OPTION_PREVIOUS_SYNC);
    Drawable drawable = new BitmapDrawable(getResources(), bitmap);

2
投票

您的应用程序的res / raw文件夹上的视频不受Android Media Content Provider的管理,因此您无法从中获取其缩略图。

或者,您可以尝试将它们另存为SD中的普通文件,然后向媒体提供者索取缩略图,或直接通过ThumbnailUtils.createVideoThumbnail类(仅限Android 2.2或更高版本)创建该缩略图]


0
投票

为此使用Android Glide库

© www.soinside.com 2019 - 2024. All rights reserved.