2011-12-23 84 views
-3

我想這樣做,當我播放一個Vimeo視頻時,頁面上的其他人將被暫停。Javascript暫停所有其他Vimeo視頻

我嘗試使用froogaloop API,但沒有什麼幫助。

使用當前代碼我得到它的工作,所以當我切換標籤我可以暫停所有視頻。現在我想讓它播放一個視頻時,其他人暫停。

現在,用於檢測「播放」的事件偵聽器無法正常工作。我認爲這是因爲他們需要在$(document).ready()中,但他們被卡在第一個<script>區域,封裝在$(function(){ }),我相信這是阻止它進行交互。

的代碼可以在這裏找到:www.proclinica.com/preview

這是我修改控制VIMEO的代碼,你可以看到事件偵聽器在這裏工作:http://jsfiddle.net/GxwEX/5/

可至少有人幫我把事件聽衆在proclinica網站上工作?

+0

堆棧溢出問題是免費回答,請使用其他網站,如果你想提供代碼的錢。 – alex 2011-12-23 23:17:34

+0

我很抱歉,我不知道,我接受了報價。請原諒。 – 2011-12-23 23:21:50

回答

0

首先,我不完全確定你正在嘗試做什麼不起作用。在你的代碼(在網站上),你有這樣的:

$('.client_logo').click(function() { 
    post('pause'); 
}); 

當我點擊這個標誌的之一,任何正在運行的視頻似乎暫停就好了。

如果您嘗試暫停所有正在播放的視頻,而另一個則由用戶啓動;我不認爲我在代碼中的任何地方(無論是在JSFiddle還是在網站上)都看到了您嘗試這樣做的地方。如果你有;你能告訴我們你試過的麼?

最後,只是回答您的問題的至少一部分... $(...)實際上只是一個很好的快捷方式$(document).ready(...)

編輯:

documentation

如果你要嵌入在頁面上控制多個玩家,你可以給每個玩家一個player_id告訴他們分開:

http://player.vimeo.com/video/VIDEO_ID?api=1&player_id=vimeoplayer

如果你設置它,這player_id沿着任何事件偵聽器,像這樣:

function onMessageReceived(e) { 
    var data = JSON.parse(e.data); 
    var player_id = e.player_id; 

    // Do stuff 
} 

您可以用它來識別視頻開始,並重新啓動它已被暫停別人之後。

+0

非常感謝您的回覆 - 我終於得到了活動聽衆的工作。 現在當你點擊播放按鈕時,onmessagerecieved()函數檢測是否有'play'事件,如果是,它會運行post('pause'),暫停包括當前視頻在內的每個視頻。 我不知道如何排除我點擊的那個。你能幫我嗎? – 2011-12-24 00:01:47

+0

我已經更新了答案。 – PPvG 2011-12-24 12:29:40