2017-05-04 7 views
3

これは数年前に投稿されましたが、まだ解決されていません。私は、ボリュームのビデオはのは150%を言わせて演じて何かをすることが決定したんだけど、HTML5の体積法は、1 https://www.w3schools.com/tags/av_prop_volume.aspHTML5音量が過去100%増加します

より大きい任意の値との誤差を持ってここに私のコードです:

javascript:(function(){document.getElementsByTagName('video')[0].volume = 1.5;}()); 

0.5ではなく、1.5で動作します。 1つの答えは、それがこのエラーを与えると言った:

とにかく私はこの範囲では[0,1]の範囲を超えて実行することができますか?

答えて

6

ビデオボリュームは0と1の間のパーセンテージで、100%を超えることはできません。

これを行う可能性がある唯一の方法は、ビデオプレーヤーからの音声をWeb Audio APIにルーティングして増幅することです。

https://developer.mozilla.org/en-US/docs/Web/API/AudioContext/createMediaElementSource

// create an audio context and hook up the video element as the source 
var audioCtx = new AudioContext(); 
var source = audioCtx.createMediaElementSource(myVideoElement); 

// create a gain node 
var gainNode = audioCtx.createGain(); 
gainNode.gain.value = 2; // double the volume 
source.connect(gainNode); 

// connect the gain node to an output destination 
gainNode.connect(audioCtx.destination); 

あなたは、ビデオからオーディオそのコンテキストを取得し、オーディオの音量を上げるか、リバーブなどのオーディオエフェクトを適用するには、ゲインノードを介してそれを実行することができます。ゲインノードのゲインをあまり大きくしないように注意するか、すでにマスターされているオーディオがクリッピングを開始します。

最後に、新しいオーディオを出力できるように、ゲインノードをオーディオの宛先に接続する必要があります。

関連する問題