[解決済み] HTML5とJavaScriptによる動画ボリュームスライダー
2022-02-17 08:42:20
質問
カスタムUIのビデオプレーヤーを作ろうとしています。
<video>
タグといくつかのJavaScriptを使用しています。しかし、ボリュームスライダーが動作しません。
私が試した方法は、1ms間隔で何度も音量を設定する関数を書くことです。明らかに、最後のサイクルからスライダーに触れていなければ、音量は変化しないはずです。1msはあまり長い時間ではないので、100msに増やしてみて、それが役に立つかどうか試してみました。しかし、効果はありませんでした。
スライダーをどの位置に設定しても、音量がデフォルト値のままです。これは、カスタムライブラリを使用せずにできるのでしょうか?もし可能なら、どのようにすればよいのでしょうか?
HTMLです。
<video id="video" autoplay>
<source src="/720p.mp4" type="video/mp4">
</video>
<input id="vol-control" type="range" min="0" max="100" step="1"></input>
JavaScriptです。
var video = document.getElementById('video');
var volu3 = document.getElementById('vol-control');
window.setInterval(changevolume(), 1);
function changevolume() {
var x = volu3.value;
var y = x / 100;
video.volume = y;
}
解決方法は?
実は、quot;input"の両方を処理するのが一番いいんです。 と イベント("change")は、すべての新しいブラウザでスライダーとリアルタイムにボリュームが更新されるようにします(Chrome では明らかに動作しているのに、ユーザーがマウスボタンを離したときにのみ発生することになっており、IE10 では "input" の代わりに "change" を処理しなければなりません)。以下は動作例です。
<video id="video" autoplay>
<source src="/720p.mp4" type="video/mp4">
</video>
<input id="vol-control" type="range" min="0" max="100" step="1" oninput="SetVolume(this.value)" onchange="SetVolume(this.value)"></input>
<script>
function SetVolume(val)
{
var player = document.getElementById('video');
console.log('Before: ' + player.volume);
player.volume = val / 100;
console.log('After: ' + player.volume);
}
</script>
...以下はライブデモです。 https://jsfiddle.net/2rx2f8dh/
関連
-
[解決済み】jquery $.ajaxオブジェクトのresponseJSONプロパティを取得する方法 [重複]。
-
[解決済み】BootstrapのCollapseが折りたたまれない
-
[解決済み】SyntaxError: 'import' と 'export' は 'sourceType: module' とだけ表示されるかもしれない - Gulp
-
[解決済み] JavaScriptで "use strict "は何をするのか、その根拠は?
-
[解決済み] JavaScriptで文字列が部分文字列を含むかどうかを確認する方法は?
-
[解決済み] あるJavaScriptファイルを他のJavaScriptファイルにインクルードするにはどうすればよいですか?
-
[解決済み] HTML5のlocalStorageにオブジェクトを格納する方法は?
-
[解決済み】JavaScriptの比較では、どちらの等号演算子(== vs ===)を使うべきですか?
-
[解決済み】オブジェクトからプロパティを削除する(JavaScript)
-
[解決済み】HTML5入力のプレースホルダの色をCSSで変更する。
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み】このエラーの原因は何ですか - "Fatal error: ローカルgruntを見つけることができません"
-
[解決済み】Uncaught TypeError: nullのプロパティ'value'を読み取ることができない
-
[解決済み】webpack-dev-serverにリモート接続すると、「Invalid Host header」というメッセージが表示されます。
-
[解決済み] React with ES7: Uncaught TypeError: Cannot read property 'state' of undefined [duplicate] (未定義のプロパティ'state'を読み込むことはできません。
-
[解決済み] [Solved] Uncaught TypeError: nullのプロパティ 'appendChild' を読み取ることができない。
-
[解決済み】Redux TypeError: 未定義のプロパティ 'apply' を読み取れない
-
[解決済み] ローカルファイルを開くことができません - Chrome: ローカルリソースのロードが許可されていません
-
[解決済み】DOMException: サポートされているソースが見つからなかったため、読み込みに失敗しました。
-
[解決済み】Vueのテンプレートまたはレンダー関数が定義されていない 私はどちらも使っていないのですが?
-
[解決済み】HTMLの最初の行に予期しないトークン<がある。