我编写了一个函数,从 YouTube URL 中提取视频 ID 并返回相应的缩略图 URL。然而,该功能似乎并没有按预期工作。
const getYouTubeThumbnail = (url: string) => {
const videoId = url.split("v=")[1];
return https://img.youtube.com/vi/${videoId}/hqdefault.jpg;
};
当我传递像 https://www.youtube.com/watch?v=-jz8mrwU_Fc&ab_channel=10Alytics 这样的 YouTube 视频网址时,我希望得到 https://img.youtube.com/vi/dQw4w9WgXcQ/hqdefault .jpg,但它似乎要么不起作用,要么返回错误的 URL。
我做错了什么?有没有更好的方法提取视频ID?
上面的功能,但它没有按预期工作
您的 getYouTubeThumbnail 函数可以按预期使用常规 YouTube 链接,但是当在 videoID 之后添加额外参数时,可能会遇到问题。
使用
url.split("v=")[1]
检索“v=”之后的 URL 部分。
const getYouTubeThumbnail = (url: string) => {
const videoId = url.split("v=")[1]?.split("&")[0]; // Gets the part after "v=" and splits by "&" to remove additional parameters
return `https://img.youtube.com/vi/${videoId}/hqdefault.jpg`;
};
通过应用
.split("&")[0]
,它可以分离视频 ID 后面可能出现的任何其他参数,并仅捕获第一个片段,确保您仅获取视频 ID。