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>