soiz1 commited on
Commit
e26a936
·
verified ·
1 Parent(s): 9746ca6

Update index.html

Browse files
Files changed (1) hide show
  1. index.html +25 -2
index.html CHANGED
@@ -49,6 +49,12 @@
49
  <input type="number" id="speedInput" min="0.0001" step="0.0001" value="1">
50
  </div>
51
 
 
 
 
 
 
 
52
  <div class="control-group">
53
  <label for="loopCheckbox">ループ再生:</label>
54
  <input type="checkbox" id="loopCheckbox" checked>
@@ -56,10 +62,13 @@
56
 
57
  <button onclick="goFullscreen()">全画面</button>
58
  </div>
 
59
  <script>
60
  const video = document.getElementById('videoPlayer');
61
  const speedRange = document.getElementById('speedRange');
62
  const speedInput = document.getElementById('speedInput');
 
 
63
  const loopCheckbox = document.getElementById('loopCheckbox');
64
 
65
  function updatePlaybackRate(value) {
@@ -69,17 +78,30 @@
69
  video.playbackRate = speed;
70
  }
71
 
72
- // スライダーイベント(input、change、mouseup すべて対応)
 
 
 
 
 
 
73
  ['input', 'change', 'mouseup'].forEach(eventName => {
74
  speedRange.addEventListener(eventName, () => {
75
  updatePlaybackRate(speedRange.value);
76
  });
 
 
 
77
  });
78
 
79
  speedInput.addEventListener('input', () => {
80
  updatePlaybackRate(speedInput.value);
81
  });
82
 
 
 
 
 
83
  loopCheckbox.addEventListener('change', () => {
84
  video.loop = loopCheckbox.checked;
85
  });
@@ -96,8 +118,9 @@
96
 
97
  video.addEventListener('loadedmetadata', () => {
98
  updatePlaybackRate(speedRange.value);
 
99
  video.loop = loopCheckbox.checked;
100
  });
101
  </script>
102
  </body>
103
- </html>
 
49
  <input type="number" id="speedInput" min="0.0001" step="0.0001" value="1">
50
  </div>
51
 
52
+ <div class="control-group">
53
+ <label for="volumeRange">音量:</label>
54
+ <input type="range" id="volumeRange" min="0" max="1" step="0.01" value="1">
55
+ <input type="number" id="volumeInput" min="0" max="1" step="0.01" value="1">
56
+ </div>
57
+
58
  <div class="control-group">
59
  <label for="loopCheckbox">ループ再生:</label>
60
  <input type="checkbox" id="loopCheckbox" checked>
 
62
 
63
  <button onclick="goFullscreen()">全画面</button>
64
  </div>
65
+
66
  <script>
67
  const video = document.getElementById('videoPlayer');
68
  const speedRange = document.getElementById('speedRange');
69
  const speedInput = document.getElementById('speedInput');
70
+ const volumeRange = document.getElementById('volumeRange');
71
+ const volumeInput = document.getElementById('volumeInput');
72
  const loopCheckbox = document.getElementById('loopCheckbox');
73
 
74
  function updatePlaybackRate(value) {
 
78
  video.playbackRate = speed;
79
  }
80
 
81
+ function updateVolume(value) {
82
+ const volume = parseFloat(value);
83
+ volumeInput.value = volume;
84
+ volumeRange.value = volume;
85
+ video.volume = volume;
86
+ }
87
+
88
  ['input', 'change', 'mouseup'].forEach(eventName => {
89
  speedRange.addEventListener(eventName, () => {
90
  updatePlaybackRate(speedRange.value);
91
  });
92
+ volumeRange.addEventListener(eventName, () => {
93
+ updateVolume(volumeRange.value);
94
+ });
95
  });
96
 
97
  speedInput.addEventListener('input', () => {
98
  updatePlaybackRate(speedInput.value);
99
  });
100
 
101
+ volumeInput.addEventListener('input', () => {
102
+ updateVolume(volumeInput.value);
103
+ });
104
+
105
  loopCheckbox.addEventListener('change', () => {
106
  video.loop = loopCheckbox.checked;
107
  });
 
118
 
119
  video.addEventListener('loadedmetadata', () => {
120
  updatePlaybackRate(speedRange.value);
121
+ updateVolume(volumeRange.value);
122
  video.loop = loopCheckbox.checked;
123
  });
124
  </script>
125
  </body>
126
+ </html>