0

私はYouTubeビデオを次のように埋め込んでいます:

    <object height="25" width="610"><param name="movie" 
    value="http://www.youtube.com/v/GBApIkX0YN4&hl=en_US&color1=0xf4f4f4&color2=0xffffff&hd=0&fs=0&enablejsapi=1&playerapiid=ytplayer">
    </param>
    <param name="allowFullScreen" value="true">
    </param>
    <param name="allowscriptaccess" value="always">
    </param>
    <embed src="http://www.youtube.com/v/GBApIkX0YN4&hl=en_US&color1=0xf4f4f4&color2=0xffffff&hd=0&fs=0" height="25" width="610" type="application/x-shockwave-flash" allowfullscreen="true" allowscriptaccess="always">
    </embed></object>

YouTube の例では、以下のコードを使用して、プレーヤーの状態がいつ変化するかを確認しています。

    function onYouTubePlayerReady(playerId) {
  ytplayer = document.getElementById("myytplayer");
  ytplayer.addEventListener("onStateChange", "onytplayerStateChange");
}

    function onytplayerStateChange(newState) {
    alert("Player's new state: " + newState);
    }

これを自分のページに挿入すると、ビデオを一時停止して再生しても何も起こりません (状態が何であるかを示すアラートを実行する必要があると思います)。

「GBApIkX0YN4」であるjavascriptを使用してそのIDを取得したいので、YouTube APIを使用して、ビデオが終了したときにjavascript関数を呼び出すことができます。

  1. 動画の終了を簡単に確認する方法はありますか?

  2. そうでない場合、どうすればIDを取得できますか?

別の人が使っているのを見た

    youtubeID = v.attr('src').match(/youtube\.com.*?v[\/=](\w+)/)[1];

しかし、埋め込みコードから URL を見つける方法がわかりません。

ありがとう

4

1 に答える 1

0

Youtube Javascript APIを使用する必要があります。これを埋め込み URL に含めることで有効にできる&enablejsapi=1ため、URL は次のようになります。

http://www.youtube.com/v/GBApIkX0YN4&hl=en_US&color1=0xf4f4f4&color2=0xffffff&hd=0&fs=0&enablejsapi=1

プレーヤー API メソッドを呼び出すには、まず、制御するプレーヤー オブジェクトへの参照を取得する必要があります。これは、 または タグで getElementById() を呼び出してプレーヤー オブジェクトを取得することで実行できます。

onStateChange次に、ビデオの状態に応じて値を返すプレーヤー オブジェクトにイベントを設定できます。ビデオが終了したことを示す値が 0 であることを確認する必要があります。

ドキュメントから:

This event is fired whenever the player's state changes. Possible values are unstarted (-1), ended (0), playing (1), paused (2), buffering (3), video cued (5). When the SWF is first loaded it will broadcast an unstarted (-1) event. When the video is cued and ready to play it will broadcast a video cued event (5).

それが役立つことを願っています。

于 2012-05-13T12:16:02.873 に答える