好吧,我正在尝试开发一个包括YouTube播放列表的网站。稍后,每个人(在我本地网络中)访问网站的每个人都应该将歌曲添加到该播放列表中。为此,我将使用YouTube-API和可能的PHP或Python。
现在,我已经通过<iframe>
标签包含了播放列表,并偶然发现了一个大问题。如果我现在在此播放列表(YouTube本身上)添加更多歌曲,那么当我重新加载完整的网站时,它们当然只会添加到网站上的播放列表中。例如,如果我只是用<iframe>
重新加载DIV,那么问题是播放列表在第一首歌中再次开始。
有什么方法可以动态更新网站上的播放列表?因此,播放列表从一开始就不会再次开始,当前的播放仍然存在,而新添加的歌曲实际上将"现场"添加到播放列表中?
在这里<iframe>
标签有帮助:
<iframe id="playlist" src="https://www.youtube.com/embed/videoseries?list=PLmdXGEzOwfzb0fq7S2iP-t4i7x19R1ZN2"
frameborder="0" allow="accelerometer; autoplay; encrypted-media; gyroscope; picture-in-picture"
allowfullscreen>
</iframe>
我建议的一种方式是:
-
(在更新包含
iframe
的DIV之前)>
(一旦您将视频添加到播放列表并获取了以前的行中提到的值),更新DIV元素(通过修改iframe
的src
值)。
一个例子可能是这样:
- 您的播放列表ID是:
PLmdXGEzOwfzb0fq7S2iP-t4i7x19R1ZN2
。 - 当前的播放视频是:
51iquRYKPbs
- 当您右键单击播放视频
51iquRYKPbs
时,您将获得Copy URL video at current time
选项。 - 一旦选择了
Copy URL video at current time
选项,您将获得这样的URL:
youtu.be/ 51IQURYKPBS ?list = plmdxgezowfzb0fq7s2ip-t4i7x19r1zn2&amp; t = 80 /blockquote>
检查突出显示的值 - 您需要它们重新加载
iframe
。您当前的IFRAME
src
值如下:https://www.youtube.com/embed/videoseries?list=PLmdXGEzOwfzb0fq7S2iP-t4i7x19R1ZN2
(尚未修改)。
对于使用应用更改的重新加载iframe,请设置iframe src如下:
https://www.youtube.com/embed/51iquRYKPbs?list=PLZCHH_4VqpRhMW1K9I1hbgBRmmlWdyK3k&autoplay=1&start=80
(更改iframe的
src
值后,它将随着所做的更改而重新加载,并且将在指定的时间内继续播放视频)。接下来说明了对
src
值的更改:
- 设置正在播放的视频的录像值(完成重新加载之前)。
- 设置视频的开始值,以在指定的时间继续播放。
- 在指定时间播放视频需要
autoplay=1
。1 关于如何获得当前的播放视频以及播放视频的当前时间是一个全新的问题,这将取决于您正在处理网站上所有YouTube内容的语言 - (由于您在问题中提到您将使用PHP或Python)。