YouTube動画を音量ミュートでWEBサイトに埋め込む方法

2015年04月06日
follow us in feedly

youtube

YouTube動画をWEBサイトやブログに埋め込むには、特に複雑な作業は必要ありません。

動画の下に表示されている共有から埋め込みコードを選択して、吐き出されるコードを表示させたい場所に貼り付ければOKです。

youtube埋め込みコード画像

埋め込みコードは、サイズも自由に設定できますし、用意されたチェックボックスを使って、「動画が終わったら関連動画を表示する」「プレーヤーのコントロールを表示する」「動画のタイトルとプレーヤーの操作を表示する」「プライバシー強化モードを有効にする」の項目を設定することができます。

また、「自動的に動画を再生」や「繰り返し再生」、「コントロールバーとシークバーの色の変更」など細かいカスタマイズも埋め込みコードを追加修正すれば可能です。

詳しくは下記の情報を参考にどうぞ。

しかし、埋め込みコードでは「自動的に動画を再生」とセットで使うケースが多い動画再生時に音声をミュートさせる設定ができません。

サイトを表示したら、いきなり音が流れるのはユーザーに対する配慮が足りませんね。妥協できるポイントではありません。

音量ミュートでWEBサイトに埋め込む方法

音声をミュートさせるには、IFrame Player APIを使います。このAPIを使えば、YouTube動画をウェブサイトに埋め込み、JavaScript でプレーヤーを制御できます。

YouTube動画を表示する場所に下記のコードを記述する

<div id="player"></div>

この空の<div> 要素を書き込むことで、IFrame API が動画プレーヤーを配置するページ上の位置を識別します。

JavaScript関数を記述する

先ほど記述した空の<div> 要素よりも下に次のようにJavaScript関数を記述します。

<script>
      // This code loads the IFrame Player API code asynchronously.
      var tag = document.createElement('script');

      tag.src = "https://www.youtube.com/iframe_api";
      var firstScriptTag = document.getElementsByTagName('script')[0];
      firstScriptTag.parentNode.insertBefore(tag, firstScriptTag);

      // This function creates an <iframe> (and YouTube player)
      // after the API code downloads.
      var player;
      function onYouTubeIframeAPIReady() {
        player = new YT.Player('player', {
          height: '390',
          width: '640',
          videoId: '●●●●●●●●',
          playerVars:{
            'rel': '0',
            'showinfo': '0',
          },
          events: {
            'onReady': onPlayerReady,
            'onStateChange': onPlayerStateChange
          }
        });
      }

      // The API will call this function when the video player is ready.
      function onPlayerReady(event) {
        event.target.playVideo();
        event.target.mute();
      }
</script>

個別に設定が必要なのは、var playerから下の項目です。

height、widthは説明するまでもなくサイズですね。

videoIdはプレーヤーが読み込む動画を識別するYouTube動画ID。動画url末尾のv=の後にあります。

playerVarsはプレーヤーのカスタマイズに使うプレーヤーパラメータを記述します。
relは最初の動画の再生が終了したときに、プレーヤーに関連動画を表示するかどうかを指定します。値:0(非表示)または1(表示)。デフォルトは1です。
showinfoは動画のタイトルやアップロードしたユーザーなどの情報を表示するかどうか。値:0(非表示)または1(表示)。デフォルト値は1です。

onPlayerReady関数に動画再生時に音声をミュートする設定を記述します。
event.target.playVideoは動画プレーヤーの準備ができると再生を開始します。
event.target.muteは音声をミュートします。

■さいごに

IFrame Player APIのJavaScript関数を使うことで、サイトに埋め込むYouTube動画を必要に応じてカスタマイズできます。

今回は設定していませんが、onPlayerStateChange関数を使えば、特定のプレーヤーイベント(プレーヤーの状態の変化や動画の再生画質の変化など)に応じて実行されるイベントリスナーを追加できます。

follow us in feedly

関連記事

福岡でホームページ制作を依頼するなら【ハブワークス】

ホームページ制作・リニューアル・スマートフォンサイト制作・ECサイト制作は福岡のハブワークスまでお気軽にどうぞ。WEBサイト制作後の修正・更新・SEO対策もお任せください。リーズナブルな料金設定でサービスをご提供いたします。

webサイト制作・修正に関するお問合せ・ご相談・お見積りはお気軽にどうぞ