当前位置: 动力学知识库 > 问答 > 编程问答 >

how to get video thumb nail from raw folder video on android

问题描述:

in my app i need to display video thumb nail which is stored in res/raw folder. i searched regard it. i get the following code.

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);

by this code i get video thumb nail from sdcard. but video from res/raw folder it does not show video thumb nail. i tried long time but i could not find solution. i tried in the following way.

I create an array and store the resource id (Ex: int[] videoid={R.raw.vi1,...}) and place the id in MediaStore.Video.Thumbnails.getThumbnail(crThumb, videoid[position], MediaStore.Video.Thumbnails.MICRO_KIND, options);.

please help me. thanks in advance.

网友答案:

You can try to get some frame out of your video just like this:

    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);
网友答案:

Video on res/raw folder of your application aren't managed by Android Media Content Provider, so you cannot obtain their thumbnail from it.

Alternatively, you can try to save them as normal file in your SD and, then, ask to media provider for thumbnail or create it directly via ThumbnailUtils.createVideoThumbnail class (only Android 2.2 or above)

分享给朋友:
您可能感兴趣的文章:
随机阅读: