Youtube APIを使ってみます。Youtube APIには3つの種類があるようです。
https://developers.google.com/youtube
その中で、簡単そうなIFrame Player APIを使ってみます。自身のページでyoutubeの動画を再生するためのAPIです。
iframe_api_reference
プレーヤの下にプレイ動画の情報が表示されています。
下記のテキストボックスにYoutubeのURLを記載して下さい。その後、Loadボタンを押すと上のプレーヤでYoutub画像が再生されます。
| https://youtu.be/ |
下のボックスに時間、分(min)と秒(sec)を設定して、GOボタンを押すとその時間にジャンプします。
TIME (min) (sec)以下は、Youtubeプレーヤを立ち上げるためのプログラム例です。
<!-- 1. The<iframe> (and video player) will replace this <div> tag. -->
<!-- 1. <ifreme>とvideo player は、この<div id="player"></div>に置き換えられる。</div> -->
<div id="player"></div>
<script>
// 2. This code loads the IFrame Player API code asynchronously.
//2. このコードは非同期にIFrame Player APIを読み込む。
//以下の4行は、IFrame Player APIを読み込むには必須
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.
//3. この関数onYouTubeIframeAPIReadyは、API code がダウンロードされた後に、
// <iframe> (and YouTube player)を立ち上げる。
var player;
function onYouTubeIframeAPIReady() {
player = new YT.Player('player', {
height: '390',
width: '640',
videoId: 'M7lc1UVf-VE',
events: {
'onReady': onPlayerReady,
'onStateChange': onPlayerStateChange
}
});
}
// 4. The API will call this function when the video player is ready.
//4. 関数onPlayerReadyは、Video Playerが準備できたときに読み出される。
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.
//5. 関数onPlayerStateChangeは、Playerの状態が変更されたときに読み出される。
// この例ではHPが読み込まれ、video が再生(state=1)され、10秒play した後ストップする。
// 次回、Play ボタンが押されたときには、連続して再生される。
var done = false;
function onPlayerStateChange(event) {
if (event.data == YT.PlayerState.PLAYING && !done) {
setTimeout(stopVideo, 10000);
done = true;
}
}
//6. 関数stopVideoは、Playerをストップする。
function stopVideo() {
player.stopVideo();
}
</script>