前回はVideo.jsの紹介と導入をしました。
今回はVideo.jsの具体的なカスタマイズを行なっていきます。
Video.jsのオプションを使ってみる
videoタグには自動再生やループ再生などを行うための様々な属性があります。
ここではVideo.js特有の設定を一部ご紹介していきます。videoタグだけでは出来ないことも出来るようになります。
JavaScriptでオブジェクトを作成し、オプションを設定します。
const player = videojs('video', { controlBar: { skipButtons: { forward: 5, backward: 10 } }, playbackRates: [0.8, 1, 1.3, 1.5], notSupportedMessage: '動画再生できません!' });
上記のオプションを解説していきます。
controlBar.skipButtons
動画に秒送り・戻しボタンを追加します。forward:数値
で何秒送るかを指定します。backward:数値
で何秒戻すか指定出来ます。
playbackRates
動画に再生速度を変更するボタンを追加します。
数字を入れることで指定の再生速度を選択することが出来ます。
notSupportedMessage
ビデオが再生出来ない時に表示するメッセージを設定します。
他にも動画の比率を指定するaspectRatio
や動画部分を非表示にして音声のみを流すaudioOnlyMode
など、ここでは紹介しきれないくらいオプションがまだまだあります。
詳しくは公式サイトを参照してみてください。
https://videojs.com/guides/options/
cssを使用する
Video.jsを導入するとDOMが大きく変わります。
導入前のDOMは下記のようにシンプルなものになります。
Video.jsを使うと、DOMが下記のように大きく変わります。
動画プレーヤーの各機能がHTML要素として分けられているのです。
これらの要素にcssでスタイルを当てることでカスタマイズが出来るようになります。
試しに少しYouTubeっぽくしてみましょう。
加工前はこちらです。
検証ツールで変更対象のクラスを調べ、cssを追加していきます。
.video-js .vjs-play-progress { background-color: #c4302b; } .video-js .vjs-play-progress:before { color: #c4302b; }
これだけでシークバーがYouTubeっぽくなりましたね。
このようにスタイルを変えたい要素のcssを記述することでプレーヤーのデザインを変えることが出来ます。
まとめ
Video.jsを使うことで出来るカスタマイズをご紹介してきました。
割と簡単に機能追加やデザイン変更が出来ましたね。
Video.jsにはまだまだ有用なオプションあります。
気になったら公式サイトを参考にしてみてください。