mirror of
https://github.com/th-ch/youtube-music.git
synced 2026-01-10 18:21:47 +00:00
compressor plugin
This commit is contained in:
32
plugins/audio-compressor/front.js
Normal file
32
plugins/audio-compressor/front.js
Normal file
@ -0,0 +1,32 @@
|
|||||||
|
const {
|
||||||
|
watchDOMElement
|
||||||
|
} = require("../../providers/dom-elements");
|
||||||
|
|
||||||
|
let videoElement;
|
||||||
|
|
||||||
|
const applyCompressor = () => {
|
||||||
|
var audioContext = new AudioContext();
|
||||||
|
|
||||||
|
var compressor = audioContext.createDynamicsCompressor();
|
||||||
|
compressor.threshold.value = -50;
|
||||||
|
compressor.ratio.value = 12;
|
||||||
|
compressor.knee.value = 40;
|
||||||
|
compressor.attack.value = 0;
|
||||||
|
compressor.release.value = 0.25;
|
||||||
|
|
||||||
|
var source = audioContext.createMediaElementSource(videoElement);
|
||||||
|
|
||||||
|
source.connect(compressor);
|
||||||
|
compressor.connect(audioContext.destination);
|
||||||
|
};
|
||||||
|
|
||||||
|
module.exports = () => {
|
||||||
|
watchDOMElement(
|
||||||
|
"video",
|
||||||
|
(document) => document.querySelector("video"),
|
||||||
|
(element) => {
|
||||||
|
videoElement = element;
|
||||||
|
applyCompressor();
|
||||||
|
}
|
||||||
|
);
|
||||||
|
};
|
||||||
Reference in New Issue
Block a user