埋め込みYoutube動画の自動再生
YouTubeビデオの埋め込みは、埋め込みウィジェットを使用して行ってください。YouTubeの動画を埋め込んだレイアウトをXiboで公開する場合は、YouTubeの利用規約を必ずお読みいただき、ご理解の上ご利用ください。
まず、埋め込みウィジェットを作成します。
HTMLの部分に、以下のように記述してください。
<!-- BROWSER=edge -->
<div id="player"></div>
そして、スクリプトセクションに次のように記述します。
<script>
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 player;
var playerState = -1;
var readyCalled = false;
function onYouTubeIframeAPIReady() {
player = new YT.Player('player', {
suggestedQuality: 'hd1080',
height: '1080',
width: '1920',
videoId: 'onldzSzdqlM',
events: {
'onReady': onPlayerReady,
'onStateChange': onPlayerStateChange
}
});
}
function onPlayerReady(event) {
readyCalled = true;
event.target.playVideo();
}
function onPlayerStateChange(event) {
if (readyCalled && playerState === 3 && event.data === -1) {
setTimeout(function() { player.playVideo(); }, 1000);
}
playerState = event.data;
}
</script>
上のスクリプトでは、欲しいビデオを再生するためのパラメータと、それを表示するリージョンのサイズを調整する必要があります。
そこで、以下の部分を慎重に調整します。
height: '720',
width: '1280',
videoId: 'onldzSzdqlM',
heightとwidthは、実際のディスプレイでビデオを表示するためのサイズです。videoId は、そのビデオの Youtube URL のものです。たとえば、ビデオの URL が http://www.youtube.com/watch?v=onldzSzdqlM の場合、videoId パラメータは onldzSzdqlM となります。
上記の方法を使用したレイアウトの例は、こちらでご覧いただけます。
また、デバイスに割り当てられたディスプレイプロファイルの「Hardware Accelerate web content」が「On」または「Off when transparent」(埋め込みウィジェットで透過性を設定しない場合)に設定されていることを確認することを強くお勧めします。
また、スクリプトに追加できるパラメータがありますので、以下を参照してください。
player = new YT.Player('player', {
height: '1080',
width: '1920',
videoId: 'XCHMbYv70o8',
playerVars: {
'playlist': 'XCHMbYv70o8',
'loop': 1,
'controls' : 0,
'rel' : 0,
'fs' : 0,
'showinfo' : 0,
'cc_load_policy' : 0,
'iv_load_policy' : 3,
'modestbranding' : 1
},
playerVars は YouTube API Documentation で説明されているので、好きなものを選んで使ってください。videoと同じvideoIdを持つ'playlist'とloopパラメータを追加すると、そのビデオをループ再生するようになります - もちろん、もっとビデオを追加することもできます。
もちろん、もっと多くのビデオを追加することもできますが、上記は単なる例です。上記の例の他のプレーヤーバーは、ほとんどが、埋め込まれた YouTube プレーヤーから不要な情報、キャプション、コントロールなどを削除するためのものです。
プレイリスト
プレイリストの自動再生とループ。
Youtube iframe API を使用してこれを実現する方法はいくつかありますが、ここでは loadPlaylist()
の使用法に焦点を当てます。
次のコードは、プレーヤを埋め込み、提供された videoIds をプレイリストにロードし、すべての動画を順番に表示し、プレイリストを最初から再開してループさせるものです。
<script>
function onPlayerReady(event) {
event.target.loadPlaylist(['a329D581TAw','XCHMbYv70o8','wzQesXhFt_s']);
event.target.setLoop(true);
}
</script>
YouTube 上の既存のプレイリストのプレイリスト ID を使用するには、loadPlaylist() を呼び出す際にオブジェクト構文を使用する必要があります。 つまり、上記の例では、loadPlaylist の行を次のように置き換える必要があります。
event.target.loadPlaylist({list:'PLYgi4FbOVUSzsP627x-PKTHjoS13_fSJE', listType: 'playlist'});