soiz1 commited on
Commit
15f607e
·
verified ·
1 Parent(s): 98dca72

Update index.html

Browse files
Files changed (1) hide show
  1. index.html +13 -14
index.html CHANGED
@@ -71,14 +71,24 @@
71
  const volumeInput = document.getElementById('volumeInput');
72
  const loopCheckbox = document.getElementById('loopCheckbox');
73
 
74
- // Web Audio APIの設定
75
  const audioContext = new (window.AudioContext || window.webkitAudioContext)();
76
  const gainNode = audioContext.createGain();
77
  const sourceNode = audioContext.createMediaElementSource(video);
78
  sourceNode.connect(gainNode);
79
  gainNode.connect(audioContext.destination);
80
 
81
- // 再生速度の更新
 
 
 
 
 
 
 
 
 
 
82
  function updatePlaybackRate(value) {
83
  const speed = parseFloat(value);
84
  speedInput.value = speed;
@@ -86,16 +96,7 @@
86
  video.playbackRate = speed;
87
  }
88
 
89
- // 音量の更新
90
- function updateVolume(value) {
91
- const volume = parseFloat(value);
92
- volumeInput.value = volume;
93
- volumeRange.value = volume;
94
- // GainNodeの音量設定(1.0以上)
95
- gainNode.gain.value = volume / 100; // 0〜1の範囲として設定
96
- }
97
-
98
- // イベントリスナーの設定
99
  ['input', 'change', 'mouseup'].forEach(eventName => {
100
  speedRange.addEventListener(eventName, () => {
101
  updatePlaybackRate(speedRange.value);
@@ -117,7 +118,6 @@
117
  video.loop = loopCheckbox.checked;
118
  });
119
 
120
- // 全画面モード
121
  function goFullscreen() {
122
  if (video.requestFullscreen) {
123
  video.requestFullscreen();
@@ -128,7 +128,6 @@
128
  }
129
  }
130
 
131
- // メタデータの読み込み後に初期設定
132
  video.addEventListener('loadedmetadata', () => {
133
  updatePlaybackRate(speedRange.value);
134
  updateVolume(volumeRange.value);
 
71
  const volumeInput = document.getElementById('volumeInput');
72
  const loopCheckbox = document.getElementById('loopCheckbox');
73
 
74
+ // Web Audio APIの初期化
75
  const audioContext = new (window.AudioContext || window.webkitAudioContext)();
76
  const gainNode = audioContext.createGain();
77
  const sourceNode = audioContext.createMediaElementSource(video);
78
  sourceNode.connect(gainNode);
79
  gainNode.connect(audioContext.destination);
80
 
81
+ // 音量更新
82
+ function updateVolume(value) {
83
+ const volume = parseFloat(value);
84
+ volumeInput.value = volume;
85
+ volumeRange.value = volume;
86
+
87
+ // 音量は0から1を超えて設定可能(100までで対応)
88
+ gainNode.gain.value = volume / 100;
89
+ }
90
+
91
+ // 再生速度更新
92
  function updatePlaybackRate(value) {
93
  const speed = parseFloat(value);
94
  speedInput.value = speed;
 
96
  video.playbackRate = speed;
97
  }
98
 
99
+ // イベントリスナー
 
 
 
 
 
 
 
 
 
100
  ['input', 'change', 'mouseup'].forEach(eventName => {
101
  speedRange.addEventListener(eventName, () => {
102
  updatePlaybackRate(speedRange.value);
 
118
  video.loop = loopCheckbox.checked;
119
  });
120
 
 
121
  function goFullscreen() {
122
  if (video.requestFullscreen) {
123
  video.requestFullscreen();
 
128
  }
129
  }
130
 
 
131
  video.addEventListener('loadedmetadata', () => {
132
  updatePlaybackRate(speedRange.value);
133
  updateVolume(volumeRange.value);