2012-10-11 7 views
7

나는 검색을 많이 해봤지만 지금까지 olsution을 찾을 수 없습니다부터 ...유튜브 재생 목록을 포함하기 만 무작위 비디오

나는 유튜브 재생 목록을 가지고있다. 나는 그것을 웹 사이트에 삽입하고 싶다. 그러나 항상 첫 번째 비디오에서 시작하는 대신 임의의 비디오 또는 적어도 특정 비디오 (임의로 서버 측 코드로 선택할 수 있음)에서 시작하고 싶습니다.

iframe 삽입 URL에 대한 옵션을 살펴본 결과이 문제를 제어 할 수있는 매개 변수가 표시되지 않습니다. 할 수 있습니까?

그렇지 않으면 API를 사용하여 JavaScript로 처리해야한다고 가정합니다. 이전에 Youtube API를 사용하지 않았으므로이를 수행하는 데 사용할 수있는 몇 가지 예제 코드를 누군가가 붙여 넣거나 가리킬 수 있습니까?

답변

10

이 서버에 임의의 숫자를 생성 한 후 URL에 인덱스 매개 변수를 사용 :

은 여기 PopCornJS를 사용하는 예이다. 다음은 재생 목록이 index = 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 매개 변수는 이제 0 기반입니다. 따라서 7 번째 동영상에서 시작하려면 &index=7 대신 &index=6을 사용하여 위의 예를 수정하십시오.

(링크 : 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)) ?> 

가 들어 인덱스 매개 변수는 일을 할 것입니다