2012-10-11 5 views
7

Ho fatto un sacco di ricerca, ma non riesco a trovare un olsution finora ...Incorporare Youtube playlist ma a partire dal video casuale

Ho una playlist Youtube. Voglio incorporarlo su un sito web. Ma invece di iniziare sempre dal primo video, voglio che inizi da un video casuale, o almeno un video specifico (che posso selezionare casualmente con il codice lato server).

Ho esaminato le opzioni per l'URL di incorporamento di iframe e non riesco a visualizzare un parametro che mi consenta di controllare questo. È possibile farlo?

Altrimenti presumo che avrei bisogno di fare qualcosa in JavaScript con l'API. Qualcuno può incollare o indicarmi un codice di esempio che potrei usare per realizzare questo dato che non ho mai usato l'API di YouTube prima?

risposta

10

generare un numero casuale sul server e quindi usare il parametro index nell'url. Ecco un esempio in cui la playlist inizierà sul settimo elemento aggiungendo index = 7.

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

L'altra opzione è utilizzare js api e chiamare loadPlaylist e includere l'argomento index. https://developers.google.com/youtube/js_api_reference#loadPlaylist

** Modifica: da quando Google ha introdotto l'API di YouTube 3.0, il parametro index ora è a base zero. Pertanto, se volessimo iniziare dal settimo video, modificheremmo l'esempio sopra utilizzando &index=6 anziché &index=7.

(Link: https://developers.google.com/youtube/iframe_api_reference#Queueing_Functions_for_Playlists)

+0

Grazie per questo, il parametro dell'indice farà il lavoro. Anche se immagino di non riuscire a ottenere il conteggio del numero di video (senza usare l'API), vedo che se uso un indice maggiore del numero effettivo di video mostra comunque il primo, il che va bene. – johna

+1

La cosa dell'indice sembra aver smesso di funzionare ... – jnthnclrk

2

Sulla base della risposta Greg faccio questo codice, e funziona!

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

Nel mio contesto ho un po 'cambiato la codifica da Mauricio:

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

(ho messo min e max in direttamente qui)