YouTubeを埋め込む際、プレーヤーのサイズに応じて再生画質が自動で設定されますが、再生画質を変更したいということがたまにあるので、設定の変更方法をメモしておきます。
サンプルコード
設定の変更に合わせて、現在の設定値と設定可能な範囲も取得してみます。
動画によって設定可能な範囲が異なるので注意してください。
HTML
<div id="sample"></div> <div class="buttonarea"> <button id="getLevels">設定可能な値</button> <button id="getLevel">現在の値</button> <button id="small">small</button> <button id="medium">medium</button> <button id="large">large</button> <button id="hd720">hd720</button> <button id="hd1080">hd1080</button> <button id="highres">highres</button> <button id="default">default</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 = '8QjqkATvH9M'; // API読み込み後にプレーヤー埋め込み function onYouTubeIframeAPIReady() { ytPlayer = new YT.Player(ytArea, { width: 640, height: 390, videoId: ytID, events: { 'onReady': onPlayerReady } }); } function onPlayerReady() { ytPlayer.playVideo(); } // 設定可能な値を取得 document.getElementById('getLevels').addEventListener('click', function() { var levels = ytPlayer.getAvailableQualityLevels(); console.log(levels); }, false); // 現在設定されている値を取得 document.getElementById('getLevel').addEventListener('click', function() { var level = ytPlayer.getPlaybackQuality(); console.log(level); }, false); // 設定値の変更 document.getElementById('small').addEventListener('click', function() { ytPlayer.setPlaybackQuality('small'); }, false); document.getElementById('medium').addEventListener('click', function() { ytPlayer.setPlaybackQuality('medium'); }, false); document.getElementById('large').addEventListener('click', function() { ytPlayer.setPlaybackQuality('large'); }, false); document.getElementById('hd720').addEventListener('click', function() { ytPlayer.setPlaybackQuality('hd720'); }, false); document.getElementById('hd1080').addEventListener('click', function() { ytPlayer.setPlaybackQuality('hd1080'); }, false); document.getElementById('highres').addEventListener('click', function() { ytPlayer.setPlaybackQuality('highres'); }, false); document.getElementById('default').addEventListener('click', function() { ytPlayer.setPlaybackQuality('default'); }, false);
player.getPlaybackQuality() | 現在の動画の再生画質を返す。 |
---|---|
player.getAvailableQualityLevels() | 現在の動画の設定可能な画質を配列で返す。 |
player.setPlaybackQuality(suggestedQuality) | 現在の動画を指定した画質に変更する。 suggestedQualityにはsmall,medium,large,hd720,hd1080,highres,defaultが指定できるが、動画によっては設定できないものもある。 |
【参考サイト】
コメントが承認されるまで時間がかかります。