
タイトルがわかりづらいか (´・ω・`)
ブログ内に掲載されているYouTubeって再生ボタンを押すと動画が専用全画面に切り替わってしまいますよね。それを避けてページ内の一部として再生させる方法です。
Android機種を持っていないので未確認ですが(iPhone検証済)、もともとできるんじゃないですかね (´・ω・`)
説明・目的がわかりづらい方は以下のYouTube動画をiPhoneで再生してください。
* 動画を差し替えましたのでスクリーンショットの様子と異なりますが解説内容は同じです。
パラメータ「playsinline」
playsinline というパラメータがスマートフォンでの全画面を制御するものです。で、このパラメータを使えばできるんですが、使い方とそしてパラメータの基本的な使い方も初心者向けに説明しようと思います。
まずは「埋め込みコード」を取得
「音楽タグ」ではないですよ。これはでたらめ用語です。埋め込みコード と言います。
① 共有をクリック
② 埋め込むをクリック
③ コピーをクリック
実際のコードがこちらです ↓
<iframe width="560" height="315" src="https://www.youtube.com/embed/DiItGE3eAyQ" frameborder="0" allow="accelerometer; autoplay; encrypted-media; gyroscope; picture-in-picture" allowfullscreen></iframe>
緑の部位が動画を特定するアドレス。この後ろに各種パラメータをくっつけていきます。
パラメータ追加の仕方
埋め込みコード中の src属性 の値、緑部位は https://www.youtube.com/embed/DiItGE3eAyQ です。このすぐ後ろに ? を追加(スペースなし)し、続けてパラメータ playsinline を追加、そしてこのパラメータの真偽値(true or false)を追加します。=1
以下のようになります。
https://www.youtube.com/embed/DiItGE3eAyQ?playsinline=1
パラメータ追加法則
パラメータを複数追加したい場合、1つ目のパラメータは ? で、それ以降は & で繋ぎます。& でも良いんですが、FC2のエディターの特徴を考えると & と記すのがベター。最初だけがハテナ、2つ目以降はアンパサンドで繋ぐ、というのがパラメータの基本です。これはYouTubeだけに限りませんので覚えておくと便利です。
そして boolean(ブーリアン, 真偽値)は 0 が false で言い換えれば「NO」「OFF」という意味ですね。そして 0以外 が true で言い換えれば「YES」「ON」です。たいていの場合0以外とは 1 のことです。真偽値は直前に = で繋ぎます。このbooleanについてもYouTubeに限りません。例えば手動スライダーのついているテンプレートのスライダー用JSのコード内に autoplay=0 とある場合、autoplay=1 に変更すれば自動再生されるかもしれません。パラメータはそれぞれ固有なのでautoplayという単語とは限りませんが。
パラメータはデフォルト値が用意されています。true, falseのどちらがデフォルトかは調べる必要があります。デフォルト値を採用するパラメータについては記述の必要は不要です。つまりデフォルト値を変更するときだけパラメータ操作の必要が生じます。
パラメータの追加手順と真偽値を覚えておくとFC2テンプレートカスタマイズがお好きな方にとってきっと役に立ちますよ。
その他使いそうなYouTubeパラメータ
各種パラメータについてはYouTubeが公開していますのでご参照ください。
How YouTube Works - Product Features, Responsibility, & Impact
Discover how YouTube Products work and what we're doing to protect our community so that creativity, diversity, and respect are able to thrive.
パラメータ法則を知っていれば簡単にできるはずです。私がよく利用するパラメータをサンプルコードに組み込むと
<iframe width="560" height="315" src="https://www.youtube.com/embed/DiItGE3eAyQ?playsinline=1&rel=0&iv_load_policy=3" frameborder="0" allow="accelerometer; autoplay; encrypted-media; gyroscope; picture-in-picture" allowfullscreen></iframe>
こうですね。「全画面制御あり」「関連動画表示なし」「アノテーション表示なし」を意味します。
* アノテーション = 動画上に表示されるリンクや補足情報
以上が基本的な使い方です。ここからは特殊なケースについて。
弊テンプレートのYouTubeレスポンシブを利用する場合
埋め込みコードを box-for-video クラスを持つ div要素 で囲ってください。
<div class="box-for-video" style="max-width: 600px; margin: auto;"><iframe width="560" height="315" src="https://www.youtube.com/embed/DiItGE3eAyQ?playsinline=1" frameborder="0" allow="accelerometer; autoplay; encrypted-media; gyroscope; picture-in-picture" allowfullscreen=""></iframe></div>
style属性 の style="max-width: 600px; margin: auto;" は任意です。このサンプルコードの場合は横幅を最大600pxまでに制限 + センタリングの設定をしています。スタイルシート内の .box-for-video のルールセットにこれらの指定を追加している方はstyle属性を書く必要はありません。念の為。
Lazysizesのvideo embedの場合
この場合パラメータを書くのはカスタムデータ属性内です。サンプルコードを利用すると以下の通り。レスポンシブ用のbox-for-videoも入れています。
<div class="box-for-video lazyload" data-youtube="DiItGE3eAyQ" data-ytparams="playsinline=1" style="max-width: 600px; margin: auto;">
<button class="play-btn"></button>
</div>
他のパラメータを利用するときはアンパサンドで繋ぎます。
data-ytparams="playsinline=1&rel=0"
まとめ
YouTubeはパラメータの追加・削除や仕様変更、規約変更の頻度が割と高いのでずっと使えるとは限りませんが、動画を全画面再生させたくない、という方はお試しください。
There are no comments yet.