如何在Android中显示YouTube视频的缩略图

Cha*_*ndu 14 youtube android

我正在编写一个应用程序,我想显示一系列YouTube视频.但是我想让列表显示带有其他信息的视频标题,但也会显示视频的缩略图,就像我们去www.youtube.com时一样

有人可以帮我吗?如何显示视频网址的缩略图?

Pra*_*ani 34

结合两个接受的答案

如何在Android中制作YouTube视频缩略图?

如何在Android的android列表中获取youtube视频的视频缩略图?

最后,你必须玩IDYouTube网址而已.

我找到了一个相同问题的PHP答案,因为他们描述了:

每个YouTube视频都有4个生成的图片.它们的格式如下:

http://img.youtube.com/vi/<insert-youtube-video-id-here>/0.jpg
http://img.youtube.com/vi/<insert-youtube-video-id-here>/1.jpg
http://img.youtube.com/vi/<insert-youtube-video-id-here>/2.jpg
http://img.youtube.com/vi/<insert-youtube-video-id-here>/3.jpg
Run Code Online (Sandbox Code Playgroud)

列表中的第一个是全尺寸图像,其他是缩略图图像.(即之一的默认缩略图图像1.jpg,2.jpg,3.jpg)为:

http://img.youtube.com/vi/<insert-youtube-video-id-here>/default.jpg
Run Code Online (Sandbox Code Playgroud)

对于高质量版本的缩略图,请使用与此类似的网址:

http://img.youtube.com/vi/<insert-youtube-video-id-here>/hqdefault.jpg
Run Code Online (Sandbox Code Playgroud)

还有一个中等质量版本的缩略图,使用类似于总部的网址:

http://img.youtube.com/vi/<insert-youtube-video-id-here>/mqdefault.jpg
Run Code Online (Sandbox Code Playgroud)

对于缩略图的标准定义版本,请使用与此类似的URL:

http://img.youtube.com/vi/<insert-youtube-video-id-here>/sddefault.jpg
Run Code Online (Sandbox Code Playgroud)

对于缩略图的最大分辨率版本,请使用与此类似的URL:

http://img.youtube.com/vi/<insert-youtube-video-id-here>/maxresdefault.jpg
Run Code Online (Sandbox Code Playgroud)

以上所有网址都可通过https获取.只需更改httphttps上述任何网址即可.

此外,略短的主机名i3.ytimg.com可以代替img.youtube.com上面的示例网址.

例:

我有一个网址https://www.youtube.com/watch?v=-OKrloDzGpU

现在我将从URL中获取ID,即:-OKrloDzGpU

中图:http://img.youtube.com/vi/-OKrloDzGpU/mqdefault.jpg

在此输入图像描述

高清图像:http://img.youtube.com/vi/-OKrloDzGpU/hqdefault.jpg

在此输入图像描述

使用Glide或Picasso在Android中加载图片:

// Picasso        
Picasso.with(context)
       .load("http://img.youtube.com/vi/-OKrloDzGpU/mqdefault.jpg")
       .into(imageView);

// Glide
Glide.with(this)
     .load("http://img.youtube.com/vi/-OKrloDzGpU/mqdefault.jpg")
     .into(imageView);
Run Code Online (Sandbox Code Playgroud)

谢谢.希望它能帮助你们所有人.


Pet*_*ego 8

试试这个:

  1. 从URL解析视频ID:这是URL中的'v'参数.即http://www.youtube.com/watch?v=xAiiwSXVRiw中的 'xAiiwSXVRiw'

  2. 通过Youtube Gdata网址获取视频元数据:http://gdata.youtube.com/feeds/api/videos/xAiiwSXVRiw

  3. 解析你得到的XML并寻找<media:thumbnail url='..'>.'url'属性包含缩略图网址.

  • 这个答案已经过时了 (5认同)
  • OBSOLETE回答.URL响应 - "不再可用" (3认同)

Gha*_*yma 7

如果您有Youtube视频的网址.使用以下代码获取中/高质量缩略图URL

        String url = "https://www.youtube.com/watch?v=tResEeK6P5I"
        String videoId = url.split("v=")[1]; //you will get this video id "tResEeK6P5I"

        String thumbnailMq = "http://img.youtube.com/vi/"+videoId+/mqdefault.jpg //medium quality thumbnail

        String thumbnailHq = "http://img.youtube.com/vi/"+videoId+/hqdefault.jpg //high quality thumbnail

        //your final urls will be like 
        http://img.youtube.com/vi/tResEeK6P5I/mqdefault.jpg
        http://img.youtube.com/vi/tResEeK6P5I/hqdefault.jpg
Run Code Online (Sandbox Code Playgroud)