Pocket
LINEで送る

cakePHPのviewでYouTubeAPIを初めて使った。divのid=”videoDiv”内に動画が自動で再生される。閲覧中断していた動画は中断したところから再生される。閲覧中断ボタンと、閲覧完了ボタンに対応している。といったようなことをした。

<?php $this->start('script')?>
<script src="//www.google.com/jsapi" type="text/javascript"></script>
<script>
	var ytplayer = null;
	<?php if($watch):?>
		var seek = <?php echo h($watch['Watch']['seek'])?>;
	<?php else:?>
		var seek = 0;
	<?php endif;?>

	google.load("swfobject", "2.1");

	function _run() {
		// The video to load.
		var videoID = "<?php echo h($movie['Movie']['code'])?>";
		// Lets Flash from another domain call JavaScript
		var params = { allowScriptAccess: "always" };
		// The element id of the Flash embed
		var atts = { id: "ytPlayer" };
		// All of the magic handled by SWFObject (http://code.google.com/p/swfobject/)
		swfobject.embedSWF("http://www.youtube.com/v/" + videoID + "?enablejsapi=1&playerapiid=player1",
			"videoDiv", "560", "315", "9", null, null, params, atts);
	}

	google.setOnLoadCallback(_run);

	function onYouTubePlayerReady(playerId) {
		ytplayer = document.getElementById("ytPlayer");
		ytplayer.seekTo(seek, true);
		ytplayer.playVideo();
	}

	//動画閲覧の中断
	function stop(movie_id){
		if(ytplayer){
			var seek = ytplayer.getCurrentTime();
			if(seek > 0){
				location.href = '<?php echo $this->Html->url(array('controller' => 'movies', 'action' => 'stop'))?>' + '/' + movie_id + '/' + seek;
			}
		}
	}

	//動画閲覧の終了
	function finish(movie_id){
		location.href = '<?php echo $this->Html->url(array('controller' => 'movies', 'action' => 'finish'))?>' + '/' + movie_id;
	}
</script>
<?php $this->end()?>
Pocket
LINEで送る

カテゴリー: プログラミング

コメントください

関連記事

プログラミング

Go言語によるビットコインのフルノード実装btcdを調べる(2)

btcdを実行した際のプログラムの流れを最初から確認してみます。 se 続きを読む …

プログラミング

Go – leveldb

Goで使えるLevelDB。 syndtr/goleveldb ドキュ 続きを読む …

%d人のブロガーが「いいね」をつけました。