自分でアップしたビデオ3つをサムネイルクリックで再生。
Getting Startedの物を丸ごとコピーしただけ。
<script>
var videoIDs = ['lzlYzTLaSHY','QiEi9f-f16Q','t-4w8GQPZSc'];
$('<script>')
.attr('src', 'https://www.youtube.com/iframe_api')
.appendTo($('script')[0]);
// 2. This code loads the IFrame Player API code asynchronously.
// var tag = document.createElement('script');
// tag.src = "https://www.youtube.com/iframe_api";
// var firstScriptTag = document.getElementsByTagName('script')[0];
// firstScriptTag.parentNode.insertBefore(tag, firstScriptTag);
// 3. This function creates an <iframe> (and YouTube player)
// after the API code downloads.
var player;
function onYouTubeIframeAPIReady() {
// show thumbnails
$(function(){
// get thumbnail
var getVideoThumbnail = function(vid) {
return "http://i1.ytimg.com/vi/"+vid+"/mqdefault.jpg";
};
var $parent = $('#thumbnails');
videoIDs.forEach(function(item, idx){
var $li = $('<li>');
$li.appendTo($parent);
$('<img>')
.attr('src', getVideoThumbnail(item))
.appendTo($li)
.data('vid', item)
.on('click', thumbnailClick);
});
});
}
function thumbnailClick(event) {
var vid = $(this).data('vid');
if( player ){
player.loadVideoById({videoId:vid});
}else{
player = new YT.Player('player', {
height: '390',
width: '640',
videoId: vid,
events: {
'onReady': onPlayerReady,
// 'onStateChange': onPlayerStateChange
}
});
}
}
// 4. The API will call this function when the video player is ready.
function onPlayerReady(event) {
event.target.playVideo();
}
// 5. The API calls this function when the player's state changes.
// The function indicates that when playing a video (state=1),
// the player should play for six seconds and then stop.
var done = false;
function onPlayerStateChange(event) {
if (event.data == YT.PlayerState.PLAYING && !done) {
setTimeout(stopVideo, 6000);
done = true;
}
}
function stopVideo() {
player.stopVideo();
}
}</script>