Video.jsにより動画を再生し、プルアップメニュを用いて、音声や解像度を切替えます。
Video.jsの多音声化の作成
Video.jsのコントロールバー上のアイコンにより多音声メニューを表示させて、音声の切替えを可能とします。
作成したコードは、「BrightcovePlayer」を使用しています。
- 21-22行目の「video-js 」タグで、「data-account」などによりデータを設定し、32行目のスクリプトを用いて音声の切替えを可能とします。
index.html
<!DOCTYPE html> <html lang="ja"> <head> <meta charset="UTF-8"> <meta http-equiv="X-UA-Compatible" content="IE=edge"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <link href="https://cdn.jsdelivr.net/npm/bootstrap@5.1.3/dist/css/bootstrap.min.css" rel="stylesheet" integrity="sha384-1BmE4kWBq78iYhFldvKuhfTAU6auU8tT94WrHftjDbrCEXSU1oBoqyl2QvZ6jIW3" crossorigin="anonymous"> <link href="https://vjs.zencdn.net/8.3.0/video-js.css" rel="stylesheet" /> <link href="style.css" rel="stylesheet"> <title>動画再生-js</title> </head> <body> <div class="container"> <div class="row"> <div class="col-6"> <video-js id="myPlayerID" data-video-id="6033855353001" data-account="1752604059001" data-player="BJAZNkRV" data-embed="default" class="video-js" controls width="640px" height="360px"></video-js> </div> </div> </div> <script src="https://cdn.jsdelivr.net/npm/bootstrap@5.1.3/dist/js/bootstrap.bundle.min.js" integrity="sha384-ka7Sk0Gln4gmtz2MlQnikT1wXgYsOg+OMhuP+IlRH9sENBO0LRn5q+8nbTov4+1p" crossorigin="anonymous"></script> <script src="https://ajax.googleapis.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script> <script src="//players.brightcove.net/1752604059001/BJAZNkRV_default/index.min.js"></script> <script src="https://vjs.zencdn.net/8.3.0/video.min.js"></script> <script src="js/main.js"></script> </body> </html>
style.css
.video-js .vjs-big-play-button { background: orange; }
main.js
console.log('start01'); videojs.getPlayer("myPlayerID").ready(function () { var myPlayer = this; myPlayer.on("loadedmetadata", function () { var browser_language, track_language, audioTracks; // +++ Get the browser language +++ browser_language = navigator.language || navigator.userLanguage; // IE <= 10 browser_language = browser_language.substr(0, 2); // +++ Get the audio tracks +++ audioTracks = myPlayer.audioTracks(); console.log('audioTracks audioTracks', audioTracks); // +++ Loop through audio tracks +++ for (var i = 0; i < audioTracks.length; i++) { track_language = audioTracks[i].language.substr(0, 2); // +++ Set the enabled audio track language +++ if (track_language) { // When the track language matches the browser language, then enable that audio track if (track_language === browser_language) { // When one audio track is enabled, others are automatically disabled audioTracks[i].enabled = true; } } } }); });
Video.jsの多音声化の実行
ブラウザからURL「http://localhost/videojs-Audio4/」にアクセスし、再生アイコンをクリックし、表示された画面のコントロールバー上の「ヘッドフォン」アイコンをクリックします。登録された多言語のプルアップメニューが表示されます。
Video.jsでの解像度切替えの作成
Video.jsのコントロールバー上のアイコンにより、解像度切替えニューを表示させて、解像度の切替えを可能とします。
作成したコードは、「Video.js Resolution Switcher 」プラグインを使用しています。
index.html
<!DOCTYPE html> <html lang="ja"> <head> <meta charset="UTF-8"> <meta http-equiv="X-UA-Compatible" content="IE=edge"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <link href="https://kmoskwiak.github.io/videojs-resolution-switcher/node_modules/video.js/dist/video-js.min.css" rel="stylesheet"> <link href="https://kmoskwiak.github.io/videojs-resolution-switcher/node_modules/videojs-resolution-switcher/lib/videojs-resolution-switcher.css" rel="stylesheet"> <title>動画再生-jsxx</title> </head> <body> <video id="video_1" class="video-js vjs-default-skin" controls data-setup='{}'> <source src="https://vjs.zencdn.net/v/oceans.mp4?sd" type='video/mp4' label='SD' res='480' /> <source src="https://vjs.zencdn.net/v/oceans.mp4?hd" type='video/mp4' label='HD' res='1080' /> <source src="https://vjs.zencdn.net/v/oceans.mp4?phone" type='video/mp4' label='phone' res='144' /> <source src="https://vjs.zencdn.net/v/oceans.mp4?4k" type='video/mp4' label='4k' res='2160' /> </video> <script src="https://kmoskwiak.github.io/videojs-resolution-switcher/node_modules/video.js/dist/video.js"></script> <script src="https://kmoskwiak.github.io/videojs-resolution-switcher/node_modules/videojs-resolution-switcher/lib/videojs-resolution-switcher.js"></script> <script>videojs('video_1').videoJsResolutionSwitcher()</script> </body> </html>
Video.jsでの解像度切替えの実行
ブラウザからURL「http://localhost/videojs-Resolution/」にアクセスし、再生アイコンをクリックし、表示された画面のコントロールバー上の「歯車」アイコンをクリックします。登録された解像度のプルアップメニューが表示されます。