如何从YouTube获取缩略图

3

来自YouTube视频的缩略图。

我希望在我的useLinkInput方法中添加从视频中添加图片的功能。

现在我有一个对话框,在那里我有以下代码:

public void onClick(DialogInterface dialog, int which) {
    dialog.dismiss();
    Toast.makeText(getContext(), "ОК", Toast.LENGTH_SHORT).show();
    String string = input.getText().toString();
    useLinkInput(string);
}

还有一个名为useLinkInput的方法:

private void useLinkInput(String input) {
    Uri uri = Uri.parse(input);
    String videoID = uri.getQueryParameter("v");
    url = "http://img.youtube.com/vi/" + videoID +"/0.jpg";
    Log.d("url", url);
}

当用户在对话框中粘贴链接并按下确定时,我会在日志图像中看到以下内容:
D/url: http://img.youtube.com/vi/null/0.jpg

但它是null(没有显示图片)。


https://dev59.com/uXI95IYBdhLWcg3w-DH0 - Max
@Max 我不想使用Youtube API,有其他方式吗? - Morozov
为什么你不想使用它呢?它是专门为像这样的事情而构建的。 - Charles McKelvey
@CharlesMcKelvey 对我来说太难了。 - Morozov
1个回答

13

例如,您的YouTube视频URL如下。

String youtubeUrl = "https://www.youtube.com/watch?v=Rxo0Upfz48Q";
在这个URL参数中,v=Rxo0Upfz48Q代表视频ID。因此,在上面的URL中,视频ID是Rxo0Upfz48Q。 您可以使用以下代码获取视频ID。
Uri uri = Uri.parse(youtubeUrl);
String videoID = uri.getQueryParameter("v");

现在,您可以使用 videoID 来创建获取 YouTube 视频第一帧的 URL,如下所示。

String url = "http://img.youtube.com/vi/" + videoID + "/0.jpg";

现在您可以从上面的URL获取缩略图图像,并在您的ImageView中显示。


但是如果我需要每次获取随机的URL呢? - Morozov
如我在答案中所描述的,您可以使用VideoID创建随机缩略图URL。 您可以通过从YouTube URL中解析VideoID uri.getQueryParameter(“v”) 来完成此操作。 请查看我的更新答案。 - Priyank Patel
你可以邀请我进入聊天吗?我想向您展示我的代码,如果您有时间的话。 - Morozov
当然可以。我不知道如何在聊天中邀请,你能发起邀请吗? - Priyank Patel
同样的问题)我会稍微更新一下问题,请稍等。 - Morozov
显示剩余3条评论

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