2016-03-07 86 views
0

正在使用JWPlayer在我的網站中顯示視頻。我使用佔位符[[module_video]]從模塊中循環了視頻。停止使用嵌入式JWPlayer在頁面上播放多個視頻

<iframe src="[[module_video]]" width="100%" height="100%" frameborder="0" scrolling="auto" allowfullscreen></iframe> 

但我的問題是,如果我點擊第一個視頻,再次點擊第二個視頻,它不會停止第一個視頻。這意味着在我的頁面中,我只想顯示應該播放的唯一一個視頻。如果用戶點擊任何其他視頻,則必須停止前一個視頻。

我如何使用嵌入式JWplayer來做到這一點?

編輯1:

[[module_video]]的值會像以下網址//content.jwplatform.com/players/sample-test.html這種URL的。所以當我的框架獲得加載視頻播放。將爲不同的條目輸入多個URL,所以無論何時頁面加載所有視頻都在頁面中,如果我點擊它應該單獨播放特定的視頻。

EDIT 2

其實我對每個條目的不同的視頻。在我的概述頁面中顯示視頻的條目。添加條目時,我會在模塊中添加條目的視頻鏈接,如 http://leanbackplayer.com/example_iframe.html

在我的概述頁面中,我將通過佔位符[[module_video]]顯示模塊中的視頻。因此,在我的總覽頁面中將顯示所有條目的條目名稱和視頻。在這種情況下,我想停止除最後一個之外的所有播放的視頻。

+0

確實有JWP代碼'[ module_video]]'位於?每個玩家的ID? – zer00ne

+0

是的,我會在我的模塊中添加代碼,這樣當循環開始時'[[module_video]]'將獲取記錄。 – Jagadeesh

+0

好的,那麼我會給你一些適合**正常設置**的東西,然後你就可以計算出id。 – zer00ne

回答

0

ID被jwp1,jwp2和jwp3

jwp1.on('play',function(){ pauseOthers(1); }); 
    jwp2.on('play',function(){ pauseOthers(2); }); 
    jwp3.on('play',function(){ pauseOthers(3); }); 

    function pauseOthers(target) { 
    for (var i=1; i<4; i++) { 
     if(i != target) { jwplayer("jwp"+i).pause(true); } 
    } 
    }; 

使用

pauseOthers(3);

// jwp3將發揮和jwp1和jwp2將暫停

編號:https://support.jwplayer.com/customer/portal/articles/1439797-example-mutually-exclusive-playback

+0

你錯了,在我的[[module_video]]'會給結果像'// content.jwplatform.com/players/sample-test.html'這樣的url。所以當我框架得到加載視頻得到播放。 將爲不同的條目輸入多個URL,因此無論何時頁面加載所有視頻都在頁面中,如果我點擊它應該單獨播放特定視頻 – Jagadeesh

+0

不幸的是,因爲您使用的是從不同域加載頁面的IFRAME到父頁面(* .jwplatform.com),您將無法以編程方式訪問播放器。你有任何控制在IFRAME中加載的頁面/代碼嗎? – jherrieven

+0

@Jack就像@jherrieven先生所說的那樣。如果你控制了'src'(例如'page1.html,page2.html,page3.html')**和**,它們與你的主頁(即帶有3個iframe的頁面)在同一個域中,可行。如果您將JW播放器嵌入到每個頁面中,則可以根據需要控制它們。 – zer00ne

0

我正在使用嵌入式球員在我的網站,並有一個腳本來聽「播放」事件和該事件有過度活躍的視頻元素暫停他們所有,但活躍的一個循環迭代:

<script> 
    document.addEventListener('play', function(e){ 
    var videos = document.getElementsByTagName('video'); 
    console.log(videos); 
    for(var i = 0, len = videos.length; i < len;i++){ 
     if(videos[i] != e.target){ 
      videos[i].pause(); 
      } 
     } 
    }, true); 
</script> 
相關問題