YouTube などの動画の音量を上げるブックマークレット
YouTube などの動画サイトで、PC 設定やスピーカーの音量を上げてもまだ音量が小さい動画に遭遇することがある。
そんな時に、以下のブックマークレットを使うと最大音量を上げられる。
javascript:((v,a,l,s,g)=>{s=a.createMediaElementSource(v);g=a.createGain();g.gain.value=l;s.connect(g);g.connect(a.destination)})(document.querySelector('video'),new AudioContext(),3);
どのくらい音量を上げるかは、仮引数 l
の値、コード末尾にある 3
の値を増減することで調整できる。1
が元の 100% の音量だ。
コードを分かりやすく展開すると、次のようなコードになっている。
javascript:(() => {
const videoElement = document.querySelector('video'),
audioContext = new AudioContext(),
source = audioContext.createMediaElementSource(videoElement),
gainNode = audioContext.createGain();
gainNode.gain.value = 3; // この値を大きくすると音量を上げられる
source.connect(gainNode);
gainNode.connect(audioContext.destination);
})();
document.querySelector('video')
でテキトーにページ中の video
要素を掴まえている。サイトによってはココで確保する video
要素がキモになるかもしれないが、ひとまず YouTube ではコレで良い。
以降、Web Audio API を利用して gain.value
を上げることで音量を引き上げている。
このブックマークレットは、以下の Chrome 拡張機能のソースコードをヒントに作成した。Chrome 拡張機能が入れられるなら以下の拡張機能を使った方が、動的に音量を調整できるのでオススメ。
今回は Web Audio API のお遊びとして。