Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

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.

like image 343
M.A.Murali Avatar asked Jun 16 '11 04:06

M.A.Murali


2 Answers

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);
like image 160
Serhii Nadolynskyi Avatar answered Oct 05 '22 02:10

Serhii Nadolynskyi


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)

like image 33
Rainbowbreeze Avatar answered Oct 05 '22 03:10

Rainbowbreeze