From 6e94422b150bcf44a58dbff05b615f0cab9a4051 Mon Sep 17 00:00:00 2001 From: Araxeus <78568641+Araxeus@users.noreply.github.com> Date: Tue, 26 Oct 2021 20:56:09 +0300 Subject: [PATCH] use apiLoaded event in audio-compressor plugin --- plugins/audio-compressor/front.js | 16 +++++----------- 1 file changed, 5 insertions(+), 11 deletions(-) diff --git a/plugins/audio-compressor/front.js b/plugins/audio-compressor/front.js index 4f41a4d7..9c3631cd 100644 --- a/plugins/audio-compressor/front.js +++ b/plugins/audio-compressor/front.js @@ -1,14 +1,6 @@ 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; @@ -16,10 +8,12 @@ const applyCompressor = () => { compressor.attack.value = 0; compressor.release.value = 0.25; - const source = audioContext.createMediaElementSource(videoElement); + const source = audioContext.createMediaElementSource(document.querySelector("video")); source.connect(compressor); compressor.connect(audioContext.destination); }; -module.exports = applyCompressor; \ No newline at end of file +module.exports = () => document.addEventListener('apiLoaded', () => { + applyCompressor(); +})