如何创建视频网址表单服务器的缩略图

ARR*_*R.s 0 java video android thumbnails

如何创建url视频表单服务器的图像/缩略图

我尝试不工作(不显示缩略图)

String  String url = "http://clips.vorwaerts-gmbh.de/VfE_html5.mp4";

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

    Glide.with(context).load(thumb).asBitmap()
    /*.override(convertDpToPx(100), convertDpToPx(100))*/
    .placeholder(R.drawable.camera)
    .override(200, 200)
    .diskCacheStrategy(DiskCacheStrategy.ALL)
    .into(new BitmapImageViewTarget(img_view) {
     protected void setResource(Bitmap resource) {
    RoundedBitmapDrawable circularBitmapDrawable =
    RoundedBitmapDrawableFactory.create(context.getResources(), resource);
    //circularBitmapDrawable.setCircular(true);
    img_view.setImageDrawable(circularBitmapDrawable);
       }
    });
Run Code Online (Sandbox Code Playgroud)

我通过回答1解决它!

但是它在缩略图方面遇到了一些问题,它的变化颜色就是标准.

在此输入图像描述

Nil*_*hod 8

试试这个AsyncTask像这样创建新的

public class DownloadImage extends AsyncTask<String, Void, Bitmap> {
    ImageView bmImage;

    public DownloadImage(ImageView bmImage) {
        this.bmImage = (ImageView ) bmImage;
    }

    protected Bitmap doInBackground(String... urls) {
        Bitmap myBitmap = null;
        MediaMetadataRetriever mMRetriever = null;
        try {
            mMRetriever = new MediaMetadataRetriever();
            if (Build.VERSION.SDK_INT >= 14)
                mMRetriever.setDataSource(urls[0], new HashMap<String, String>());
            else
                mMRetriever.setDataSource(urls[0]);
            myBitmap = mMRetriever.getFrameAtTime();
        } catch (Exception e) {
            e.printStackTrace();


        } finally {
            if (mMRetriever != null) {
                mMRetriever.release();
            }
        }
        return myBitmap;
    }

    protected void onPostExecute(Bitmap result) {
        bmImage.setImageBitmap(result);
    }
}
Run Code Online (Sandbox Code Playgroud)

比这叫AsyncTask这个

   new DownloadImage(YourImageView).execute("Your URL");
Run Code Online (Sandbox Code Playgroud)

编辑

或者您也可以使用Glide从网址创建视频缩略图

 RequestOptions requestOptions = new RequestOptions();
 requestOptions.placeholder(R.drawable.placeholder_card_view);
 requestOptions.error(R.drawable.placeholder_card_view);


  Glide.with(getContext())
       .load(path)
       .apply(requestOptions)
       .thumbnail(Glide.with(getContext()).load(path))
       .into(ivVideoThumbnail);
Run Code Online (Sandbox Code Playgroud)