2012-10-11 7 views
7

que he hecho un montón de búsqueda, pero no puedo encontrar una olsution hasta ahora ...Incorporación de Youtube lista de reproducción, pero partiendo de vídeo al azar

que tienen una lista de reproducción de Youtube. Quiero insertarlo en un sitio web. Pero en lugar de comenzar siempre en el primer video, quiero que comience ya sea en un video aleatorio, o al menos en un video específico (que puedo seleccionar al azar con el código del lado del servidor).

He revisado las opciones de la URL de incorporación de iframe y no puedo ver un parámetro que me permita controlar esto. Es posible de hacer?

De lo contrario, supongo que tendría que hacer algo en JavaScript con la API. ¿Puede alguien pegar o señalarme un código de ejemplo que podría utilizar para lograr esto, ya que no he usado la API de Youtube antes?

Respuesta

10

generar un número aleatorio en el servidor y luego usar el parámetro de índice en la url. Aquí hay un ejemplo donde la lista de reproducción comenzará en el 7mo elemento agregando index = 7.

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

La otra opción es usar la API js, y llamar a loadPlaylist e incluir el argumento de índice. https://developers.google.com/youtube/js_api_reference#loadPlaylist

** Editar: Desde que Google presentó la API de YouTube 3.0, el parámetro index ahora está basado en cero. Por lo tanto, si quisiéramos comenzar en el séptimo video, modificaríamos el ejemplo anterior utilizando &index=6 en lugar de &index=7.

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

+0

Gracias por eso, el parámetro index hará el trabajo. Aunque supongo que no puedo contar el número de videos (sin usar la API), veo que si uso un índice mayor que el número real de videos muestra el primero de todos modos, lo cual está bien. – johna

+1

Lo del índice parece haber dejado de funcionar ... – jnthnclrk

2

Sobre la base de la respuesta Greg hago este código, y funciona!

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

En mi contexto que cambia ligeramente la codificación por Mauricio:

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

(puse min y max aquí directamente)

Cuestiones relacionadas