YouTubeのプレーヤーに別の動画を読み込ませる方法をメモ。
サンプルコード
読み込ませる方法はYouTube IDを指定する方法とURLを指定する方法があります。
HTML
<div id="sample"></div> <div class="button-area"> <button id="cueVideoId">IDから動画読み込み</button> <button id="loadVideoId">IDから動画読み込み + 再生</button> <button id="cueVideoUrl">URLから動画読み込み</button> <button id="loadVideoUrl">URLから動画読み込み + 再生</button> </div>
JavaScript
// YouTube 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);
var ytPlayer;
var ytArea = 'sample';
var ytID = 'DJwMOnaci8o';
// API読み込み後にプレーヤー埋め込み
function onYouTubeIframeAPIReady() {
ytPlayer = new YT.Player(ytArea, {
width: 640,
height: 390,
videoId: ytID
});
}
// IDから動画を読み込む
document.getElementById('cueVideoId').addEventListener('click', function() {
ytPlayer.cueVideoById('8QjqkATvH9M');
}, false);
// IDから動画を読み込んで再生する
document.getElementById('loadVideoId').addEventListener('click', function() {
ytPlayer.loadVideoById('rqHsEVwYdX4');
}, false);
// URLから動画を読み込む
document.getElementById('cueVideoUrl').addEventListener('click', function() {
ytPlayer.cueVideoByUrl('http://www.youtube.com/v/pp70baXff_Q');
}, false);
// URLから動画を読み込んで再生する
document.getElementById('loadVideoUrl').addEventListener('click', function() {
ytPlayer.loadVideoByUrl('http://www.youtube.com/v/zdoBFSBQMfs');
}, false);
| player.cueVideoById(videoId) | videoIdで指定された動画を再生する準備をする。 準備のみで再生はされない。 |
|---|---|
| player.loadVideoById(videoId) | videoIdで指定された動画を読み込んで再生する。 |
| player.cueVideoByUrl(mediaContentUrl) | mediaContentUrlで指定された動画を再生する準備をする。 準備のみで再生はされない。 |
| player.loadVideoByUrl(mediaContentUrl) | mediaContentUrlで指定された動画を読み込んで再生する。 |
他にも引数で再生開始位置や再生画質も設定できるようなので、詳しくは公式ドキュメントをご確認ください。
【参考サイト】
コメントが承認されるまで時間がかかります。