지금까지 JW Player를 사용했지만 plyr.js를 사용자 정의했습니다 (2)
마지막까지
 마지막 동영상 재생까지 에서 plyr.js에서 동영상을 재생할 때까지 할 수있었습니다.
여기에서는 플레이어의 간인 컨트롤 바의 커스터마이즈를 해 나갑니다.
전회의 도입 부분까지는 얼마든지 기사가 있습니다만, 여기로부터가 정말로 정보가 적었습니다...
어쨌든 본가의 Issues에 투고하고 싶은 곳을 "우선 검색하라! 같은 것 몇번이나 듣지 말아라!"라는 작자의 말을 가슴에, 일심불란하게 검색해 시행착오를 반복합니다.
 우선 색을 바꾸다
CSS를 로드하면 전체 색상이 변경됩니다.
폴더 구성html/
 ├ css/
 │ ├ myplayer.css
 │ └ plyr.css
 ├ js/
 │ ├ jquery.min.js
 │ ├ myplayer.js
 │ └ plyr.min.js
 ├ index.html
 └ test.mp4
index.html<html>
  <head>
    <link rel="stylesheet" media="all" href="css/plyr.css">
    <link rel="stylesheet" media="all" href="css/myplayer.css">
    <script type="text/javascript" charset="UTF-8" src="js/jquery.min.js"></script>
    <script type="text/javascript" charset="UTF-8" src="js/plyr.min.js"></script>
    <script type="text/javascript" charset="UTF-8" src="js/myplayer.js"></script>
  </head>
  <body>
    <video id="video_player" controls>
      <source src="test.mp4" type="video/mp4" />
    </video>
  </body>
</html>
css/myplayer.css.plyr--full-ui input[type=range] {
  color: red;  /* とりあえず赤くしてみる */
}
.plyr__control--overlaid {
  background: rgba(255,0,0, .8);  /* とりあえず赤くしてみる */
}
.plyr--video .plyr__control.plyr__tab-focus,
.plyr--video .plyr__control:hover,
.plyr--video .plyr__control[aria-expanded=true] {
  background: red;  /* とりあえず赤くしてみる */
}
.plyr__control.plyr__tab-focus {
  box-shadow: 0 0 0 5px rgba(255,0,0, .5);  /* とりあえず赤くしてみる */
}
.plyr__menu__container .plyr__control[role=menuitemradio][aria-checked=true]::before {
  background: red;  /* とりあえず赤くしてみる */
}
.plyr--audio .plyr__control.plyr__tab-focus,
.plyr--audio .plyr__control:hover,
.plyr--audio .plyr__control[aria-expanded=true] {
  background: red;  /* とりあえず赤くしてみる */
}
css의 'red'와 '255,0,0'을 다시 작성하면
 
버튼 등이 붉어집니다.
또한 아이콘의 색상을 변경하려면
css/myplayer.css.plyr--full-ui input[type=range] {
  color: red;  /* とりあえず赤くしてみる */
}
.plyr__control--overlaid {
  background: rgba(255,0,0, .8);  /* とりあえず赤くしてみる */
}
.plyr--video .plyr__control.plyr__tab-focus,
.plyr--video .plyr__control:hover,
.plyr--video .plyr__control[aria-expanded=true] {
  background: red;  /* とりあえず赤くしてみる */
}
.plyr__control.plyr__tab-focus {
  box-shadow: 0 0 0 5px rgba(255,0,0, .5);  /* とりあえず赤くしてみる */
}
.plyr__menu__container .plyr__control[role=menuitemradio][aria-checked=true]::before {
  background: red;  /* とりあえず赤くしてみる */
}
.plyr--audio .plyr__control.plyr__tab-focus,
.plyr--audio .plyr__control:hover,
.plyr--audio .plyr__control[aria-expanded=true] {
  background: red;  /* とりあえず赤くしてみる */
}
.plyr__control {
  color: yellow;  /* アイコンを黄色くしてみる */
}
아이콘이 노란색으로 변했습니다.
 
 원하는 버튼 표시
plyr.js에서는 디폴트의 버튼 이외에 「10초 돌아온다」, 「10초 진행한다」등의 버튼을 추가하거나, 「픽쳐 인 픽쳐를 숨기기」등의 세세한 설정도 가능하게 되어 있습니다.
모든 버튼controls: [
    'play-large', // 再生前に表示される再生ボタン
    'restart', // もう一度最初からのボタン
    'rewind', // seektimeで指定した秒数戻るボタン
    'play', // 再生、一時停止ボタン
    'fast-forward', // seektimeで指定した秒数進むボタン
    'progress', // プログレスバーの表示
    'current-time', // 現在時間、残り時間の表示
    'duration', // 動画全体の再生時間
    'mute', // ミュート、ミュート解除ボタン
    'volume', // 音量コントロール
    'captions', // 字幕表示ボタン
    'settings', // 設定メニュー(再生速度、画質選択)
    'pip', // ピクチャーインピクチャー
    'airplay', // AirPlay(MacのSafariのみ)
    'download', // 指定したソースのダウンロードボタン
    'fullscreen' // フルスクリーンボタン
];
control은 아래와 같이 설정에 주는 것으로 설정할 수 있습니다.
js/myplayer.js$(function() {
  const control = [ 
    'play-large', // 再生前に表示される再生ボタン
    'restart', // もう一度最初からのボタン
    'rewind', // seektimeで指定した秒数戻るボタン
    'play', // 再生、一時停止ボタン
    'fast-forward', // seektimeで指定した秒数進むボタン
    'progress', // プログレスバーの表示
    'current-time', // 現在時間、残り時間の表示
    'duration', // 動画全体の再生時間
    'mute', // ミュート、ミュート解除ボタン
    'volume', // 音量コントロール
    'captions', // 字幕表示ボタン
    'settings', // 設定メニュー(再生速度、画質選択)
    'pip', // ピクチャーインピクチャー
    'airplay', // AirPlay(MacのSafariのみ)
    'download', // 指定したソースのダウンロードボタン
    'fullscreen' // フルスクリーンボタン
  ];
  player = new Plyr('#video_player', { controls: control });
});
 
control의 내용을 만지면 버튼의 순서나 표시할 버튼을 선택할 수도 있습니다.
js/myplayer.js$(function() {
  const control = [ 
    'play', // 再生、一時停止ボタン
    'rewind', // seektimeで指定した秒数戻るボタン
    'fast-forward', // seektimeで指定した秒数進むボタン
    'progress', // プログレスバーの表示
    'current-time', // 現在時間、残り時間の表示
    'mute', // ミュート、ミュート解除ボタン
    'volume', // 音量コントロール
    'settings', // 設定メニュー(再生速度、画質選択)
    'fullscreen' // フルスクリーンボタン
    ];
  player = new Plyr('#video_player', {controls: control});
});
 
디폴트의 외형을 바꾸는 것만이라면, 위치를 바꾸거나, 하나하나 요소의 CSS를 지정하는 것으로 어떻게 됩니다만, 제 경우에는, 이 멋진 플레이어를 「오리지날의 버튼을 추가하고 싶다」라고 하는 오더에 의해 커스터마이즈 하는 더욱 가혹한 길 를 진행합니다.
참고 링크:
css에 관해서는 아래의 답변이 정말 도움이 되었습니다.
 htps : // 기주 b. 코 m / 사 m 팝 ts / plyr / 이스에 s / 662 # 이스에 코멘 t-498825513
컨트롤러의 표시는 아래의 공식 문서를 알기 쉽지만, 이것에 도착하는 것이 힘들었다.
 htps : // 기주 b. 이 m / m 팝 / ts / plyr / b / b / ms / r / 혼 T로 LS. md
                
                    
        
    
    
    
    
    
                
                
                
                
                    
                        
                            
                            
                            Reference
                            
                            이 문제에 관하여(지금까지 JW Player를 사용했지만 plyr.js를 사용자 정의했습니다 (2)), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
                                
                                https://qiita.com/nishidataishi/items/666305bf13983169524f
                            
                            
                            
                                텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
                            
                            
                                
                                
                                
                                
                                
                                우수한 개발자 콘텐츠 발견에 전념
                                (Collection and Share based on the CC Protocol.)
                            
                            
                        
                    
                
                
                
            
CSS를 로드하면 전체 색상이 변경됩니다.
폴더 구성
html/
 ├ css/
 │ ├ myplayer.css
 │ └ plyr.css
 ├ js/
 │ ├ jquery.min.js
 │ ├ myplayer.js
 │ └ plyr.min.js
 ├ index.html
 └ test.mp4
index.html
<html>
  <head>
    <link rel="stylesheet" media="all" href="css/plyr.css">
    <link rel="stylesheet" media="all" href="css/myplayer.css">
    <script type="text/javascript" charset="UTF-8" src="js/jquery.min.js"></script>
    <script type="text/javascript" charset="UTF-8" src="js/plyr.min.js"></script>
    <script type="text/javascript" charset="UTF-8" src="js/myplayer.js"></script>
  </head>
  <body>
    <video id="video_player" controls>
      <source src="test.mp4" type="video/mp4" />
    </video>
  </body>
</html>
css/myplayer.css
.plyr--full-ui input[type=range] {
  color: red;  /* とりあえず赤くしてみる */
}
.plyr__control--overlaid {
  background: rgba(255,0,0, .8);  /* とりあえず赤くしてみる */
}
.plyr--video .plyr__control.plyr__tab-focus,
.plyr--video .plyr__control:hover,
.plyr--video .plyr__control[aria-expanded=true] {
  background: red;  /* とりあえず赤くしてみる */
}
.plyr__control.plyr__tab-focus {
  box-shadow: 0 0 0 5px rgba(255,0,0, .5);  /* とりあえず赤くしてみる */
}
.plyr__menu__container .plyr__control[role=menuitemradio][aria-checked=true]::before {
  background: red;  /* とりあえず赤くしてみる */
}
.plyr--audio .plyr__control.plyr__tab-focus,
.plyr--audio .plyr__control:hover,
.plyr--audio .plyr__control[aria-expanded=true] {
  background: red;  /* とりあえず赤くしてみる */
}
css의 'red'와 '255,0,0'을 다시 작성하면

버튼 등이 붉어집니다.
또한 아이콘의 색상을 변경하려면
css/myplayer.css
.plyr--full-ui input[type=range] {
  color: red;  /* とりあえず赤くしてみる */
}
.plyr__control--overlaid {
  background: rgba(255,0,0, .8);  /* とりあえず赤くしてみる */
}
.plyr--video .plyr__control.plyr__tab-focus,
.plyr--video .plyr__control:hover,
.plyr--video .plyr__control[aria-expanded=true] {
  background: red;  /* とりあえず赤くしてみる */
}
.plyr__control.plyr__tab-focus {
  box-shadow: 0 0 0 5px rgba(255,0,0, .5);  /* とりあえず赤くしてみる */
}
.plyr__menu__container .plyr__control[role=menuitemradio][aria-checked=true]::before {
  background: red;  /* とりあえず赤くしてみる */
}
.plyr--audio .plyr__control.plyr__tab-focus,
.plyr--audio .plyr__control:hover,
.plyr--audio .plyr__control[aria-expanded=true] {
  background: red;  /* とりあえず赤くしてみる */
}
.plyr__control {
  color: yellow;  /* アイコンを黄色くしてみる */
}
아이콘이 노란색으로 변했습니다.

원하는 버튼 표시
plyr.js에서는 디폴트의 버튼 이외에 「10초 돌아온다」, 「10초 진행한다」등의 버튼을 추가하거나, 「픽쳐 인 픽쳐를 숨기기」등의 세세한 설정도 가능하게 되어 있습니다.
모든 버튼controls: [
    'play-large', // 再生前に表示される再生ボタン
    'restart', // もう一度最初からのボタン
    'rewind', // seektimeで指定した秒数戻るボタン
    'play', // 再生、一時停止ボタン
    'fast-forward', // seektimeで指定した秒数進むボタン
    'progress', // プログレスバーの表示
    'current-time', // 現在時間、残り時間の表示
    'duration', // 動画全体の再生時間
    'mute', // ミュート、ミュート解除ボタン
    'volume', // 音量コントロール
    'captions', // 字幕表示ボタン
    'settings', // 設定メニュー(再生速度、画質選択)
    'pip', // ピクチャーインピクチャー
    'airplay', // AirPlay(MacのSafariのみ)
    'download', // 指定したソースのダウンロードボタン
    'fullscreen' // フルスクリーンボタン
];
control은 아래와 같이 설정에 주는 것으로 설정할 수 있습니다.
js/myplayer.js$(function() {
  const control = [ 
    'play-large', // 再生前に表示される再生ボタン
    'restart', // もう一度最初からのボタン
    'rewind', // seektimeで指定した秒数戻るボタン
    'play', // 再生、一時停止ボタン
    'fast-forward', // seektimeで指定した秒数進むボタン
    'progress', // プログレスバーの表示
    'current-time', // 現在時間、残り時間の表示
    'duration', // 動画全体の再生時間
    'mute', // ミュート、ミュート解除ボタン
    'volume', // 音量コントロール
    'captions', // 字幕表示ボタン
    'settings', // 設定メニュー(再生速度、画質選択)
    'pip', // ピクチャーインピクチャー
    'airplay', // AirPlay(MacのSafariのみ)
    'download', // 指定したソースのダウンロードボタン
    'fullscreen' // フルスクリーンボタン
  ];
  player = new Plyr('#video_player', { controls: control });
});
 
control의 내용을 만지면 버튼의 순서나 표시할 버튼을 선택할 수도 있습니다.
js/myplayer.js$(function() {
  const control = [ 
    'play', // 再生、一時停止ボタン
    'rewind', // seektimeで指定した秒数戻るボタン
    'fast-forward', // seektimeで指定した秒数進むボタン
    'progress', // プログレスバーの表示
    'current-time', // 現在時間、残り時間の表示
    'mute', // ミュート、ミュート解除ボタン
    'volume', // 音量コントロール
    'settings', // 設定メニュー(再生速度、画質選択)
    'fullscreen' // フルスクリーンボタン
    ];
  player = new Plyr('#video_player', {controls: control});
});
 
디폴트의 외형을 바꾸는 것만이라면, 위치를 바꾸거나, 하나하나 요소의 CSS를 지정하는 것으로 어떻게 됩니다만, 제 경우에는, 이 멋진 플레이어를 「오리지날의 버튼을 추가하고 싶다」라고 하는 오더에 의해 커스터마이즈 하는 더욱 가혹한 길 를 진행합니다.
참고 링크:
css에 관해서는 아래의 답변이 정말 도움이 되었습니다.
 htps : // 기주 b. 코 m / 사 m 팝 ts / plyr / 이스에 s / 662 # 이스에 코멘 t-498825513
컨트롤러의 표시는 아래의 공식 문서를 알기 쉽지만, 이것에 도착하는 것이 힘들었다.
 htps : // 기주 b. 이 m / m 팝 / ts / plyr / b / b / ms / r / 혼 T로 LS. md
                
                    
        
    
    
    
    
    
                
                
                
                
                    
                        
                            
                            
                            Reference
                            
                            이 문제에 관하여(지금까지 JW Player를 사용했지만 plyr.js를 사용자 정의했습니다 (2)), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
                                
                                https://qiita.com/nishidataishi/items/666305bf13983169524f
                            
                            
                            
                                텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
                            
                            
                                
                                
                                
                                
                                
                                우수한 개발자 콘텐츠 발견에 전념
                                (Collection and Share based on the CC Protocol.)
                            
                            
                        
                    
                
                
                
            
controls: [
    'play-large', // 再生前に表示される再生ボタン
    'restart', // もう一度最初からのボタン
    'rewind', // seektimeで指定した秒数戻るボタン
    'play', // 再生、一時停止ボタン
    'fast-forward', // seektimeで指定した秒数進むボタン
    'progress', // プログレスバーの表示
    'current-time', // 現在時間、残り時間の表示
    'duration', // 動画全体の再生時間
    'mute', // ミュート、ミュート解除ボタン
    'volume', // 音量コントロール
    'captions', // 字幕表示ボタン
    'settings', // 設定メニュー(再生速度、画質選択)
    'pip', // ピクチャーインピクチャー
    'airplay', // AirPlay(MacのSafariのみ)
    'download', // 指定したソースのダウンロードボタン
    'fullscreen' // フルスクリーンボタン
];
$(function() {
  const control = [ 
    'play-large', // 再生前に表示される再生ボタン
    'restart', // もう一度最初からのボタン
    'rewind', // seektimeで指定した秒数戻るボタン
    'play', // 再生、一時停止ボタン
    'fast-forward', // seektimeで指定した秒数進むボタン
    'progress', // プログレスバーの表示
    'current-time', // 現在時間、残り時間の表示
    'duration', // 動画全体の再生時間
    'mute', // ミュート、ミュート解除ボタン
    'volume', // 音量コントロール
    'captions', // 字幕表示ボタン
    'settings', // 設定メニュー(再生速度、画質選択)
    'pip', // ピクチャーインピクチャー
    'airplay', // AirPlay(MacのSafariのみ)
    'download', // 指定したソースのダウンロードボタン
    'fullscreen' // フルスクリーンボタン
  ];
  player = new Plyr('#video_player', { controls: control });
});
$(function() {
  const control = [ 
    'play', // 再生、一時停止ボタン
    'rewind', // seektimeで指定した秒数戻るボタン
    'fast-forward', // seektimeで指定した秒数進むボタン
    'progress', // プログレスバーの表示
    'current-time', // 現在時間、残り時間の表示
    'mute', // ミュート、ミュート解除ボタン
    'volume', // 音量コントロール
    'settings', // 設定メニュー(再生速度、画質選択)
    'fullscreen' // フルスクリーンボタン
    ];
  player = new Plyr('#video_player', {controls: control});
});
Reference
이 문제에 관하여(지금까지 JW Player를 사용했지만 plyr.js를 사용자 정의했습니다 (2)), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/nishidataishi/items/666305bf13983169524f텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
                                
                                
                                
                                
                                
                                우수한 개발자 콘텐츠 발견에 전념
                                (Collection and Share based on the CC Protocol.)