【问题标题】:Autoplay next video in embedded YouTube player在嵌入式 YouTube 播放器中自动播放下一个视频
【发布时间】:2016-07-03 07:13:05
【问题描述】:
YouTube 上有一个自动播放功能,可以播放下一个推荐的视频。
如何在嵌入式 YouTube 播放器中启用此功能?
YouTube API here 解释了自动播放功能,但这并不相同。他们描述的功能是在网页加载后自动播放视频。
有没有办法在嵌入的视频帧中实现 YouTube 上的自动播放功能?
【问题讨论】:
标签:
html
youtube
youtube-api
【解决方案1】:
<iframe width="727" height="409" src="https://www.youtube.com/embed/211t6r12XPQ" frameborder="0" allow="accelerometer; autoplay; encrypted-media; gyroscope; picture-in-picture" allowfullscreen>
</iframe>
也许这是某个网站的 AI 或 UI 复制链接
【解决方案2】:
根据 youtube api 参考页面https://developers.google.com/youtube/iframe_api_reference中列出的选项
没有任何特定选项可以启用您正在寻找的功能。
但是,您可以通过其他方法来实现这一点,使嵌入式 youtube 视频播放器自动播放下一个视频。
为此,您必须从播放列表嵌入视频,而不是直接嵌入视频
<iframe width="727" height="409" src="https://www.youtube.com/embed/NTM4kxNjAIY?list=PLelK7aEMtfK2wpv7tv472alrDpNwO_0jw" frameborder="0" allow="accelerometer; autoplay; encrypted-media; gyroscope; picture-in-picture" allowfullscreen></iframe>
【解决方案3】:
据我了解,这个想法是使用嵌入式 youtube (YouTube Iframe-API) 与使用普通 youtube.com 的行为相同,并将自动播放设置为 true。
到目前为止,我发现的唯一方法是通过 api 调用获取 videoId,如下所述:https://stackoverflow.com/a/19732072/10956686
然后在 PlayerState.ENDED 事件触发后使用 player.loadVideoById()。
function onPlayerStateChange(event) {
if (event.data == YT.PlayerState.ENDED && !done) {
player.loadVideoById(myFetchedNextVideoId);
}
}
但这可能会导致大量 API 配额的使用。