如何在安卓系统中通过视频链接创建缩略图?

11

我有一个问题,我只能创建本地视频文件的缩略图,而不能创建远程url的缩略图,这是我的代码:

bmThumbnail = ThumbnailUtils.extractThumbnail(ThumbnailUtils.createVideoThumbnail("http://download.blender.org/peach/bigbuckbunny_movies/BigBuckBunny_320x180.mp4", MediaStore.Video.Thumbnails.MINI_KIND), 50, 50);

我希望你能帮助我,

敬礼 christian


我猜你需要先下载视频。 - sdabet
你需要下载图片,然后在ImageView中显示它。我想这应该会对你有所帮助。为了下载,你可以使用AsyncTask。 - Raghunandan
你需要捕获一帧并显示其缩略图。如果你可以从URL下载图像,则可以在ImageView中显示它。否则,下载图像的一部分,捕获一帧并显示缩略图。参考链接:https://dev59.com/glXTa4cB1Zd3GeqP0U5o。 - Raghunandan
@Raghunandan 但是在捕获任何帧之前,您需要下载视频... - sdabet
@fiddler 我同意你的观点。是打字错误了。要显示一个帧,你需要下载视频。 - Raghunandan
这可能会有所帮助: 查看此 Stack 的答案 - Istiyak
3个回答

5

我想没有简单的方法可以在不下载视频的情况下构建缩略图。

所以,如果你的问题是“我能否在不下载完整视频的情况下获取缩略图?”,我的回答是......不能。

否则,一旦你把视频下载到本地,那么你可以通过提供下载文件的路径来完美使用ThumbnailUtils.createVideoThumbnail(...)


5

我也有同样的问题-但是从我的测试结果来看:

  1. 这个问题只发生在android >2.3 上
  2. 在android 2.0 -> 2.3上,你可以使用

Bitmap thumbnail = ThumbnailUtils.createVideoThumbnail(videoUrl, MediaStore.Video.Thumbnails.MINI_KIND);

我希望有人能解释一下在android 4上的变化。它不起作用了。


1
我使用以下代码从远程视频生成缩略图没有任何问题: final Bitmap thumbnail = ThumbnailUtils.createVideoThumbnail( videoUrl, MediaStore.Video.Thumbnails.MINI_KIND ); 你不需要在它周围包装一个extractThumbnail()调用。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接