2011年7月8日金曜日

YouTubeAPIのコールバックonYouTubePlayerReady関数がコールされない

今日はYouTube APIを使ってみようと思い、サンプルコードを作ってみたのですが、
YouTubeの動画が表示されて、マニュアルだと再生されるようにもなりました。

しかし、JavaScriptのコールバック関数が呼ばれない状態に陥っています。
原因はなんだろう。

これをHEADタグの所に仕込んで、
 
  google.load("swfobject", "2.1");

  function onYouTubePlayerReady(playerId) {
    alert(playerId);
    console.log('onYouTubePlayerReady' + playerId);
  }

以下の処理をBODYの所に仕込んでみました。

var player;
  var swfUrl = 'http://www.youtube.com/v/u1zgFlCw8Aw?enablejsapi=1&playerapiid=ytplayer';

  var params = { allowScript: "always", bgcolor: "#cccccc" };

  var atts = {id: "myytplayer" };
  swfobject.embedSWF(swfUrl, "ytapiplayer", "640", "360", "9", null, null, params, atts);

仕様では、onYouTubePlayerReadyが呼び出されるはずなんだけど。。。
HTML5だと動かないとかかな…?
(HTML4.01の例ならあったし、表示したら動いていた)