2012-10-11 15 views
7

Zrobiłem mnóstwo poszukiwania, ale nie może znaleźć olsution tej pory ...Osadzanie Youtube playlistę ale wychodząc z losowym wideo

Mam playlistę YouTube. Chcę umieścić go na stronie internetowej. Ale zamiast zawsze zaczynać od pierwszego filmu, chcę zacząć od losowego wideo lub przynajmniej konkretnego filmu (który mogę losowo wybrać za pomocą kodu po stronie serwera).

Przyjrzałem się opcjom adresu URL elementu iframe i nie widzę parametru, który umożliwiałby mi kontrolę nad tym. Czy można to zrobić?

W przeciwnym razie zakładam, że musiałbym coś zrobić w JavaScript z API. Czy ktoś może wkleić lub wskazać mi jakiś przykładowy kod, który mógłbym użyć, aby tego dokonać, ponieważ wcześniej nie korzystałem z interfejsu YouTube?

Odpowiedz

10

Generowanie liczb losowych na serwerze, a następnie użyć parametru index w adresie URL. Oto przykład, w którym lista odtwarzania rozpocznie się od siódmego elementu poprzez dodanie indeksu = 7.

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

Inną opcją jest użycie js api i wywołanie loadPlaylist i włączenie argumentu indeksu. https://developers.google.com/youtube/js_api_reference#loadPlaylist

** Edycja: od kiedy Google wprowadził interfejs API YouTube 3.0, parametr index ma teraz wartość zero. Dlatego, jeśli chcieliśmy zacząć od siódmego wideo, zmienilibyśmy powyższy przykład, używając &index=6 zamiast &index=7.

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

+0

Dzięki za to, parametr wskaźnik będzie wykonać zadanie. Chociaż domyślam się, że nie mogę policzyć liczby filmów (bez korzystania z interfejsu API), widzę, że jeśli używam indeksu większego niż rzeczywista liczba filmów, to i tak pokazuje pierwszą, co jest w porządku. – johna

+1

Wygląda na to, że rzecz indeksu przestała działać ... – jnthnclrk

2

oparciu o odpowiedź Greg robię ten kod i działa!

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

W moim kontekście ja lekko zmienił kodowanie Mauricio:

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

(kładę min i max w tutaj bezpośrednio)

Powiązane problemy