2012-10-11 76 views
7

我已經做了很多的搜索,但無法找到一個olsution到目前爲止開始...嵌入的Youtube播放列表,但是從隨機視頻

我有一個YouTube播放列表。我想將它嵌入到網站上。但不是總是從第一個視頻開始,我希望它從任意一個視頻開始,或者至少一個特定的視頻(我可以隨意選擇服務器端代碼)。

我已經查看了iframe嵌入URL的選項,但無法看到允許我對此進行任何控制的參數。有可能嗎?

否則,我認爲我需要在API中使用JavaScript做些事情。有人可以粘貼或指向我可以使用的一些示例代碼,因爲我之前沒有使用過Youtube API嗎?

回答

10

生成您的服務器上的一個隨機數,然後在URL中使用索引參數。以下是播放列表將通過添加索引= 7開始第7個項目的示例。

<iframe width="560" height="315" src="http://www.youtube.com/embed/videoseries?list=PL9C5815B418D1508E&index=7" frameborder="0" allowfullscreen></iframe> 

另一種選擇是使用js api,並調用loadPlaylist幷包含索引參數。 https://developers.google.com/youtube/js_api_reference#loadPlaylist

**編輯:由於Google推出了YouTube的3.0 API,因此index參數現在爲零。因此,如果我們想從第7個視頻開始,我們將使用&index=6而不是&index=7來修改上面的示例。

(鏈接:https://developers.google.com/youtube/iframe_api_reference#Queueing_Functions_for_Playlists

+0

感謝的是,指標參數將做的工作。雖然我想我不能計算視頻數量(不使用API​​),但我發現如果使用大於實際視頻數量的索引,則無論如何都會顯示第一個視頻,這很好。 – johna

+1

索引東西似乎已停止工作... – jnthnclrk

2

基於格雷格答案我有這樣的代碼,和作品!

` 
<?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

在我的方面,我稍微毛改變編碼:

index=<?php print(rand(1,50)) ?> 

(我把最大值和最小值在這裏直接)