プレイリストの再生
今回はプレイリストを順に再生することを目指します(YouTubeで作成したプレイリストではない)
プレイリストを順に再生するには、YouTube Player API のプレーヤーの状態が変更された場合に発動するイベントを使用します。ソースはこんなかんじ。変更箇所以外は前回と同じ。
var count = 0;// 現在のプレイリスト順
//プレイリスト
var playlist_id = new Array("51CH3dPaWXc","Eze6-eHmtJg","YapsFDcGe_s","h-kQw4JqCHE","94uxNQqmknk");
function onYouTubeIframeAPIReady() {
ytPlayer = new YT.Player(
'Player', // 埋め込む場所のidタグ
{
width: 640, // プレーヤーの幅
height: 390, // プレーヤーの高さ
videoId: '51CH3dPaWXc' ,// YouTubeの動画ID
// イベントを追加
events: {
// プレーヤーの状態が変更されたときに実行
'onStateChange': onPlayerStateChange
}
}
);
}
// プレーヤーの状態が変更された場合に発動
function onPlayerStateChange(event) {
// 現在のプレーヤーの状態を取得
var ytStatus = event.data;
// 再生終了
if (ytStatus == YT.PlayerState.ENDED) {
// 再生終了時に次の動画を再生させる
count++;
if(count==playlist_id.length){
count = 0;
}
ytPlayer.loadVideoById(playlist_id[count]);
}
// 再生中
if (ytStatus == YT.PlayerState.PLAYING) {
// 処理
}
// 停止中
if (ytStatus == YT.PlayerState.PAUSED) {
// 処理
}
// バッファリング中
if (ytStatus == YT.PlayerState.BUFFERING) {
// 処理
}
// 頭出し済み
if (ytStatus == YT.PlayerState.CUED) {
// 処理
}
}
このイベントで再生終了時に次の動画を再生させることで、プレイリストを順に再生できます。今回のプレイリストはあらかじめ配列に格納しておきます。
結果
下の埋め込みプレーヤーにプレイリストを順に再生するようにしました。ちゃんと、再生終了時に次の動画が再生されます。


コメント