mirror of
https://github.com/th-ch/youtube-music.git
synced 2026-01-16 20:52:06 +00:00
Merge pull request #288 from thymue/compressor-plugin
Audio compressor plugin
This commit is contained in:
25
plugins/audio-compressor/front.js
Normal file
25
plugins/audio-compressor/front.js
Normal file
@ -0,0 +1,25 @@
|
|||||||
|
const applyCompressor = () => {
|
||||||
|
const videoElement = document.querySelector("video");
|
||||||
|
|
||||||
|
// If video element is not loaded yet try again
|
||||||
|
if(videoElement === null) {
|
||||||
|
setTimeout(applyCompressor, 500);
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
const audioContext = new AudioContext();
|
||||||
|
|
||||||
|
let compressor = audioContext.createDynamicsCompressor();
|
||||||
|
compressor.threshold.value = -50;
|
||||||
|
compressor.ratio.value = 12;
|
||||||
|
compressor.knee.value = 40;
|
||||||
|
compressor.attack.value = 0;
|
||||||
|
compressor.release.value = 0.25;
|
||||||
|
|
||||||
|
const source = audioContext.createMediaElementSource(videoElement);
|
||||||
|
|
||||||
|
source.connect(compressor);
|
||||||
|
compressor.connect(audioContext.destination);
|
||||||
|
};
|
||||||
|
|
||||||
|
module.exports = applyCompressor;
|
||||||
Reference in New Issue
Block a user