2011-10-29 8 views
0

YouTubeのiframe APIを使用して、ユーザーが動画のサムネイル画像をクリックしたときにYouTube動画を動的に読み込みます。動画が既に再生されていて、ユーザーが別の動画の再生を開始すると、既に再生中の最初の動画を一時停止します。同じページで別の動画を再生しているときにYouTube動画を一時停止する

また、ビデオの再生が終了した後に次のビデオをロードしたいと考えています。

loaded_video_array = new Array(); 

$("div.embed").live('click', function() { 

    thumb.removeClass("play-button").addClass("pressed"); 

    add_embedded_player(); 

}); 

function onPlayerStateChange(event) { 
    if (event.data == 0){ 

     $("div.pressed").parents("div.video").next().find("div.embed").click(); 

    }else if (event.data == 3){ 

     for (var i=0;i < loaded_video_array.length; i++){ 
      loaded_video_array[i].pauseVideo(); 
     } 

     loaded_video_array.push(event.target); 
    } 
}; 

答えて

0

ユーザーが動的にビデオをロードするたびに、それは、配列内の変数/参照'S STORE:

は、ここに私のコードです。新しいビデオを開始するときは、アレイ全体を繰り返し、各ビデオを一時停止してください。すでに一時停止している場合は、悪影響はありません。それはベストプラクティスではありませんが、うまくいくでしょう。

+0

ビデオの参照はどのように入手できますか?私は 'playerapiid'パラメータを設定してから' document.getElementById(apiid).pauseVideo() 'を呼び出そうとしましたが、私が得るエラーはnull変数でメソッドを呼び出していることです。 –

+0

ビデオを再生するコードを投稿できますか?私はそこからあなたを助けることができます。 – switz

+0

OK私は自分のコードを掲示し、あなたの提案に従った。 1つの大きな問題があることを除いて動作します。最初からビデオが再生されるときの 'event.data == 3 'のときだけ、配列内のビデオを一時停止することができます。ユーザーが既に一時停止している動画を再生すると、他の動画の一時停止コードは実行されません。 –

関連する問題