2011-12-23 13 views
-3

私は1つのVimeoビデオを再生すると、ページ上の他のものが一時停止するようにしたいと思います。Javascript pause他のすべてのVimeoビデオ

私はfroogaloop APIを使用しようとしましたが、ほとんど役に立たなかった。

現在のコードを使用して、私はタブを切り替えるとすべてのビデオを一時停止できるようになっています。今私は、1つのビデオを再生するときに他のビデオが一時停止するようにしたいと思います。

「再生」を検出するためのイベントリスナーが正しく機能していません。私は彼らが$(document).ready()にいる必要があるからだと信じていますが、彼らは最初の<script>エリアにこだわっていて、$(function(){ })にカプセル化されています。

コードはここで見つけることができます:www.proclinica.com/preview

は、これは私がVimeoのを制御するために変更されたコードであり、あなたは、イベントリスナーはここで働いて見ることができます:http://jsfiddle.net/GxwEX/5/

誰かが、少なくとも私がイベントを得るのを助けることができますリスナーは、プロクリニカのウェブサイトで作業する?

+0

スタックオーバフローの質問には無料で回答しています。コードを提供したい場合は、別のサイトを使用してください。 – alex

+0

ごめんなさい申し訳ありませんが、私は支払いの申し出を受けました。許して。 –

答えて

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()関数は '再生'イベントがあるかどうかを検出し、現在のイベントを含むすべてのビデオを一時停止するポスト( '一時停止')を実行します。 クリックしたものを除外する方法がわかりません。手伝ってくれますか? –

+0

私は答えを更新しました。 – PPvG

関連する問題