2012-10-08 93 views
3

我想在同一個播放器中播放兩個不同的YouTube視頻,第一個視頻在第二個視頻之前播放(用作前貼片廣告)。只包含兩個視頻的自定義播放列表排序YouTube視頻預告

我真正需要的是,當播放器處於閒置狀態時,它必須顯示主視頻(第二個)的圖像,而不是前置放映。

所以,我認爲我必須使用YouTube的API來加載主視頻,然後停下來,然後加載前置放大器,播放前置放映視頻後播放主視頻然後停止播放。

我試圖複製/粘貼相同的代碼來完成這些任務,但我卡在它。任何人都可以給我一個工作的例子嗎?或者,至少有一些建議?非常感謝。

+0

http://youtubedoubler.com/ –

+0

謝謝保羅的建議,但它不是我所需要的。我需要在第二個之前播放視頻,就像在播放列表中一樣。 – Victor

+0

只是想你可能能夠從頁面上獲取一些代碼:) –

回答

1

這有點粗糙,但通過聽狀態改變事件來完成你的任務;隨着預卷接近完成,您可以通過集成一些基於提示主視頻的智能預覽監控來提高響應速度。但無論如何,這至少應該讓你開始:

<div id="player"></div> 
     <script> 
     var seenPreroll=false; 
     var preroll='rl1qKqlYy8M'; 
     var mainfeature='u1zgFlCw8Aw'; 
     var playingId=''; 
     var tag = document.createElement('script'); 
     tag.src = "//www.youtube.com/iframe_api"; 
     var firstScriptTag = document.getElementsByTagName('script')[0]; 
     firstScriptTag.parentNode.insertBefore(tag, firstScriptTag); 
     var player; 
     function onYouTubeIframeAPIReady() { 
     player = new YT.Player('player', { 
      height: '390', 
      width: '640', 
      videoId: mainfeature, 
      events: { 
      'onStateChange': function(event) { 
         if (event.data==1&&seenPreroll==false) { 
           player.pauseVideo(); 
           player.loadVideoById(preroll); 
           playingId=preroll; 
           seenPreroll=true; 
           player.playVideo(); 
         } 
         else if (event.data==0&&playingId==preroll) { 
           player.loadVideoById(mainfeature); 
           playingId=mainfeature; 
           player.playVideo(); 
         } 
       } 
      } 
     }); 

} 
</script> 
+0

非常感謝你Jarom寫這個劇本,你讓我的天。它的工作原理應該如何實現前貼片應用。 :) – Victor

+0

很高興幫助...如果您有機會將答案標記爲已接受,它也會幫助其他人找到答案! – jlmcdonald

+0

我以爲我已經做到了,我在這裏很新,在'stackoverflow'上。我會再檢查一次。順便說一句,你可以在這裏看到你的腳本的工作示例:http://psihoterapie.net/video :) – Victor