在网页中嵌入Youtube播放列表并从随机视频开始播放

10

我已经进行了大量搜索,但迄今为止还没有找到解决方案...

我有一个Youtube播放列表。我想将其嵌入网站中。但是,我不希望它总是从第一个视频开始播放,我希望它从随机视频开始播放,或者至少从特定视频开始(我可以使用服务器端代码随机选择)。

我已经查看了iframe嵌入URL的选项,但是看不到允许我控制此功能的参数。这可行吗?

否则,我想我需要在API中使用JavaScript来完成一些操作。有人能够粘贴或指向一些示例代码,以便我可以使用Youtube API吗?因为我以前没有使用过Youtube API。

4个回答

16

在您的服务器上生成一个随机数,然后使用url中的index参数。这是一个示例,通过添加index=7,播放列表将从第7项开始。

<iframe width="560" height="315" src="http://www.youtube.com/embed/videoseries?list=PL9C5815B418D1508E&index=7" frameborder="0" allowfullscreen></iframe>
另一种选择是使用JavaScript API并调用loadPlaylist,同时包含index参数。 https://developers.google.com/youtube/js_api_reference#loadPlaylist 编辑:由于谷歌引入了YouTube 3.0 API,因此索引参数现在是基于零的。因此,如果我们想从第七个视频开始,我们将使用&index=6而不是&index=7来修改以上示例。
(链接:https://developers.google.com/youtube/iframe_api_reference#Queueing_Functions_for_Playlists

谢谢,索引参数就可以胜任了。虽然我猜想我不能得到视频数量的计数(不使用API),但我发现如果使用大于实际视频数量的索引,它仍然显示第一个视频,这很好。 - johna
遗憾的是,API文档中从未提及index这个东西,尽管他们在多年来跟踪变化方面做得很好https://developers.google.com/youtube/player_parameters ,我也找不到任何选择特定视频的功能。 :( 我在那里找到的唯一替代方法是使用playlist参数并手动构建逗号分隔的随机列表。反过来,对我的使用情况没有帮助很大。我只想从播放列表中选择一个视频,使用视频ID! - cregox
2
索引似乎不再起作用了 :/ - strix25

2

根据Greg的回答,我写了这段代码,并且它能够正常工作!

`
<?php
$min=1;  $max=8;  //the number of videos on your playlist
?>
<object width="746" height="413"><param name="movie" value="http://www.youtube.com/p/CAAA1242CA3E37B4?version=3&hl=es_ES&fs=1"></param><param name="allowFullScreen" value="true"></param><param name="allowscriptaccess" value="always"></param>
<?php
//in index the script randomize the numbre between $min $max
echo "
<embed src=\"http://www.youtube.com/p/CAAA1242CA3E7B4?version=3&hl=es_ES&fs=1&index=".rand($min,$max)."\" type=\"application/x-shockwave-flash\" width=\"746\" height=\"413\" allowscriptaccess=\"always\" allowfullscreen=\"true\">
</embed>
";
?>
</object>
`

1
在我的情况下,我稍微修改了Mauricio的编码:
 index=<?php print(rand(1,50)) ?>  

(我直接在这里放置了最小值和最大值)



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