如何为远程文件创建videoThumbnail?

时间:2012-10-28 13:32:32

标签: android thumbnails android-videoview

我正在尝试为文件创建视频缩略图: 1-该文件位于YouTube上。 2-我会开始使用Andriod OS隐含的意图来播放这个文件:

Intent intent= new Intent(Intent.ACTION_VIEW, Uri.parse(youTubeVideoWebPath));
startActivity(intent);

,其中

String youTubeVideoWebPath = "http://www.youtube.com/watch?feature=player_detailpage&v=OZJalBmtGnQ";

在论坛上搜索一些帖子后,我发现它可能是: 1- VideoView并使用我将从视频中提取的缩略图设置其背景 2- ImageView使用提取的缩略图设置其源/背景

当点击某个项目(无论是VideoView还是ImageView)时,我会发送前面提到的意图。 由于我不打算通过我的应用程序控制播放视频,我想最好使用ImageView,对吧?

其次, 我想为该远程文件创建一个视频缩略图,那么最好/最简单的方法是什么? 对我来说,在论坛上做了更多搜索之后,我找到了以下方法:

Bitmap thumbAsBitmap = ThumbnailUtils.createVideoThumbnail(filePath, MediaStore.Video.Thumbnails.MINI_KIND);

但它总是返回null,我不知道为什么虽然我通过它: filePath:上面提到的文件的Web路径 第二个参数:不确定它是否应该是MediaStore.Video.Thumbnails.MINI_KIND或 MediaStore.Images.Thumbnails.MINI_KIND?

我只能找到与从内部/外部存储器中保存的文件中提取VideoThumbnail相关的帖子,与我的案例等远程文件无关。

1 个答案:

答案 0 :(得分:3)

为什么不抓取YouTube缩略图?看起来很简单。获得视频网址后,就像这样:

https://www.youtube.com/watch?v=dRpFF5Dm-k0

您提取视频ID(在本例中为dRpFF5Dm-k0),缩略图位于:

http://i1.ytimg.com/vi/<VIDEOID>/default.jpg

所以在这种情况下:

http://i1.ytimg.com/vi/dRpFF5Dm-k0/default.jpg

不确定这是否适用于任何视频(我刚刚发现可以回答你的问题),但至少这是一个好的开始:)