YouTube JavaScript APIを使用して、プレーヤーの再生ステータスを取得するサンプル。
シーク位置: 移動
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="ja" lang="ja"> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <meta http-equiv="Content-Language" content="ja" /> <meta http-equiv="Content-Script-Type" content="text/javascript" /> <meta http-equiv="Content-Style-Type" content="text/css" /> <meta http-equiv="imagetoolbar" content="no" /> <title>設置サンプル</title> <link rel="stylesheet" type="text/css" href="/content/lib/global.css" /> <!-- JS --> <script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.4/jquery.min.js"></script> <script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/swfobject/2.2/swfobject.js"></script> <script type="text/javascript"> var flashvars = { }; var params = { allowScriptAccess:"always" }; var attributes = { id:"myytplayer" }; swfobject.embedSWF( "http://www.youtube.com/apiplayer?enablejsapi=1&version=3&playerapiid=ytplayer", "ytapiplayer", "560", "340", "8.0.0", /* Flash Player8 以降を指定 */ "/content/lib/swfobject/expressInstall.swf", flashvars, params, attributes ); $(function(){ timerID = setInterval("getStatus()", 1); /* 再生/一時停止 */ $("#btn_play").toggle(function(){ if(ytplayer) ytplayer.playVideo(); },function(){ if(ytplayer) ytplayer.pauseVideo(); return false; }); /* 停止 */ $("#btn_stop").click(function(){ if(ytplayer) ytplayer.stopVideo(); return false; }); /* シーク位置 */ $("#btn_seek").click(function(){ var num=($("#seek").val()) ? $("#seek").val() : 0; if(ytplayer){ ytplayer.seekTo(num,true); return false; } }); }); /* プレーヤーの準備ができると呼ばれる関数 */ function onYouTubePlayerReady(playerId) { ytplayer = document.getElementById("myytplayer"); ytplayer.cueVideoById("GILIk8W00s4"); } function getStatus(){ var loadedbytes="現在の動画の読み込み済みバイト数:"+ytplayer.getVideoBytesLoaded()+"bytes<br>"; var totalbytes="読み込み済みまたは再生中の動画のサイズ:"+ytplayer.getVideoBytesTotal()+"bytes<br>"; var startbytes="動画ファイルの読み込みを開始した位置:"+ytplayer.getVideoStartBytes()+"bytes<br>"; var tmp=ytplayer.getPlayerState(); if(tmp==-1){ tmpstr="未開始"; }else if(tmp==0){ tmpstr="終了"; }else if(tmp==1){ tmpstr="再生中"; }else if(tmp==2){ tmpstr="一時停止"; }else if(tmp==3){ tmpstr="バッファリング中"; }else if(tmp=-5){ tmpstr="頭出し済"; } var playerstatus="プレーヤーの状態:"+tmpstr+"<br>"; var curtime="動画の再生を開始してからの経過時間:"+ytplayer.getCurrentTime()+"秒"; if(ytplayer){ $("#status").html(loadedbytes+totalbytes+startbytes+playerstatus+curtime); } } </script> <!-- CSS --> <style type="text/css"> img { vertical-align:middle; } </style> <link rel="stylesheet" type="text/css" href="/common/css/example.css"></head> <body id='example3' class='example'><div class="ads" style="margin:32px auto;text-align:center;"></div><h1 class='h'><a href='/'>PHP & JavaScript Room</a> :: 設置サンプル</h1> <h3 class='h'>実行結果</h3> <h1>設置サンプル</h1> <h2>FlashのWeb埋め込みライブラリ「SWFObject」を使用したYouTube動画プレーヤーの埋め込み(クロムレスプレーヤー)</h2> <p>YouTube JavaScript APIを使用して、プレーヤーの再生ステータスを取得するサンプル。</p> <!-- CODE --> <div id="ytapiplayer"> <p><a href="http://www.adobe.com/go/getflashplayer"><img src="http://www.adobe.com/images/shared/download_buttons/get_flash_player.gif" alt="Get Adobe Flash player" /></a></p> </div> <p> <a href="#" id="btn_play"><img src="/content/img/strm/key_play_pause.png" alt="再生/一時停止" /></a> <a href="#" id="btn_stop"><img src="/content/img/strm/key_stop.png" alt="停止" /></a> シーク位置: <select id="seek"> <option value="0">0</option> <option value="10">10</option> <option value="20">20</option> <option value="30">30</option> <option value="60">60</option> </select> <a href="#" id="btn_seek">移動</a> </p> <div id="status"></div> <!-- / CODE --> </body> </html>