2016-03-07 90 views
1

我有一個嵌入了YouTube視頻的網站。我正在使用YouTube播放器API嵌入我的視頻,並且在頁面加載時將播放器設置爲自動播放。一旦當前嵌入式視頻播放完畢,我就設置了一個監聽事件重定向到下一個視頻(我需要重定向到一個新的物理頁面,而不是將下一個視頻加載到由API創建的現有iframe中,因爲每個頁面都包含信息/針對該視頻的評論)。在後臺自動播放嵌入式YouTube視頻?

這一切都完美,但只有當你打開標籤。如果您在後臺列出視頻(他們只是將錄音設置爲靜態圖片,實際上沒有什麼可以觀看的內容),那麼在當前視頻播放結束後,該網頁將會重新定向,但YouTube視頻無法播放直到你點擊標籤。只要你點擊標籤,自動播放啓動,視頻開始。但是我需要視頻自動播放,無論該標籤是否打開。有任何想法嗎?

我用JWplayer進行了實驗,重定向/自動播放功能完美,但這意味着必須自己託管視頻,而且我寧願主持YouTube。我也注意到YouTube.com沒有這個問題。它將加載播放列表中的下一個視頻頁面並自動播放該選項卡是否打開。

此問題僅在Chrome,Firefox和Opera中出現,但不在Edge或IE中。

謝謝。

<div id="yt-player"></div> 
<script src="http://www.youtube.com/player_api"></script> 
<script> 

// create youtube player 
var player; 
function onYouTubePlayerAPIReady(){ 
    player = new YT.Player('yt-player',{ 
     height:'433', 
     width:'770', 
     videoId:'xxxxxxxxxxx', 
     playerVars: { 'autoplay': 1, 'controls': 1, 'html5': 1 }, 
     events:{ 
      'onReady':onPlayerReady, 
      'onStateChange':onPlayerStateChange 
     } 
    }); 
} 

// autoplay video 
function onPlayerReady(event){ 
    event.target.playVideo(); 
} 

// when video ends 
function onPlayerStateChange(event) { 
    if(event.data === 0 && $("#autoplayCB").is(':checked')) { 
     window.location="/nextvideo.htm"; 
    } 
} 

</script> 

回答

0

我遇到過這個問題。我發現你必須先創建播放器,然後才能更改使用loadVideoById的視頻。

https://developers.google.com/youtube/iframe_api_reference#Queueing_Functions 

這裏的問題是,你必須使自己的視頻列表,或者找出獲得的視頻列表成JavaScript數組的一些方法,並調用下一個在當前視頻結束。你將需要建立一個手動播放列表。

唯一的另一個警告是,您必須首次在頁面上加載視頻,在沒有提供選項卡焦點的情況下在新選項卡中打開視頻會阻止它初始化,直到您這樣做。

+0

這適用於將下一個視頻加載到預先存在的播放器中,但在視頻播放完畢後需要加載新頁面,並在該新頁面上自動播放視頻。 – Adam

+0

我知道去年chrome進行了一次更新,暫停了任何自動播放的背景噪音,直到您專注於選項卡。聽起來就像這裏發生了什麼,但JWplayer能夠自動播放,而不必關注標籤,這是令人困惑的:\ – Adam

+0

如果你正在加載一個新的頁面,它不會被集中,它不會使用youtube API 。我猜想YT做這件事的原因之一是因爲他們不希望人們使用它作爲播客服務。這樣做的Chrome插件已從Chrome商店中刪除。 – WHol

相關問題