Created
May 25, 2012 12:18
-
-
Save satomacoto/2787710 to your computer and use it in GitHub Desktop.
A 連続再生 sample of YouTube Player API for <iframe> Embeds
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
<!DOCTYPE HTML> | |
<html> | |
<head> | |
<meta charset="UTF-8"> | |
<title>A sample of YouTube Player API for <iframe> Embeds</title> | |
</head> | |
<body> | |
<!-- <iframe>(とプレイヤ)に置き換わる<div>タグ --> | |
<div id="player"></div> | |
<script> | |
// https://developers.google.com/youtube/iframe_api_reference | |
// プレイリスト | |
var playlist = ["d2ymeJ-CWVg", "HIXMtQTe3Pg", "BqHq5g9FJeI", "8dELD-3blj8", "j4OrOdgt7nc"]; | |
// 次を再生 | |
function playNext() { | |
// プレイリストにビデオが残ってたら先頭のビデオを再生 | |
if (playlist.length > 0) { | |
player.loadVideoById(playlist.shift()); | |
} | |
} | |
// IFrame Player APIを非同期にロード | |
var tag = document.createElement('script'); | |
tag.src = "http://www.youtube.com/player_api"; | |
var firstScriptTag = document.getElementsByTagName('script')[0]; | |
firstScriptTag.parentNode.insertBefore(tag, firstScriptTag); | |
// APIをダウンロードしたら<iframe>とYouTubeプレイヤーを生成 | |
var player; | |
function onYouTubePlayerAPIReady() { | |
player = new YT.Player('player', { | |
height: '390', | |
width: '640', | |
videoId: 'qqXMM8v9vn0', | |
events: { | |
'onReady': onPlayerReady, | |
'onStateChange': onPlayerStateChange, | |
'onError': onPlayerError // added | |
} | |
}); | |
} | |
// プレイヤが準備できたら呼び出される | |
function onPlayerReady(event) { | |
event.target.playVideo(); | |
} | |
// ステータスが変更されたら呼び出される | |
// ビデオが終わったら次を再生 | |
function onPlayerStateChange(event) { | |
if (event.data == YT.PlayerState.ENDED) { | |
playNext(); | |
} | |
} | |
// エラーが起きたら次を再生 | |
function onPlayerError(event) { | |
playNext(); | |
} | |
</script> | |
</body> | |
</html> |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment