Plugin chrome do zwiększania głośności


Uwaga! Wszystkie informacje i solucje zawarte w postach typu DYI mogą z czasem przestać być aktualne. Niektóre publikowane kody źródłowe, będąc zależnymi od używanych konfiguracji platform i sprzętu, mogą nie działać, lub działać nieprawidłowo u niektórych użytkowników. Stosując opisane rozwiązania przyjmujesz do wiadomości i zgadzasz się, że nie ponoszę odpowiedzialności za ich finalne efekty.


Jak się człowiek wkurzy na *ujowe rozwiązania, to wymyśla sposoby na ich obejście. Tak było i w tym przypadku.

YouTube ogranicza głośność dźwięku, nie chciało mi się badać dlaczego i w jaki sposób, zmęczony byłem ciągłym podgłaśnianiem, żeby się pocieszyć muzyką z tego serwisu. Postanowiłem więc wymyślić wtyczkę do chrome.

Robimy tak:

1. Tworzymy folder o jakiejś nazwie, ikonkę „icon.png” (128x128px) dwa pliki tekstowe w środku: content.js oraz manifest.json
2. W content.js wpisujemy:

(function () {
    let audioCtx = new (window.AudioContext || window.webkitAudioContext)();
    let gainNode = audioCtx.createGain();
    gainNode.gain.value = 2.0;

    function boostAudio() {
        let video = document.querySelector("video");
        if (!video) return;

        if (video.dataset.audioBoosted === "true") {
            return;
        }

        try {
            let source = audioCtx.createMediaElementSource(video);
            source.connect(gainNode);
            gainNode.connect(audioCtx.destination);

            video.dataset.audioBoosted = "true";

            console.log("YouTube Audio Boosted!");
        } catch (error) {
            console.warn("Nie można ponownie połączyć MediaElementSourceNode.", error);
        }
    }

    let observer = new MutationObserver(() => {
        boostAudio();
    });

    observer.observe(document.body, { childList: true, subtree: true });

    boostAudio();
})();

3. W manifest.json:

{
  "manifest_version": 3,
  "name": "YouTube 0dB",
  "version": "1.0",
  "description": "Zwiększa poziom dźwięku w serwisie YouTube do 0 dB.",
  "permissions": ["scripting", "activeTab"],
  "host_permissions": ["https://www.youtube.com/*"],
  "content_scripts": [
    {
      "matches": ["https://www.youtube.com/*"],
      "js": ["content.js"],
      "run_at": "document_idle"
    }
  ],
  "icons": {
    "128": "icon.png"
  },
  "action": {
    "default_icon": {
      "128": "icon.png"
    },
    "default_title": "YouTube 0dB"
  }
}

4. W pasku adresu przeglądarki wpisujemy: chrome://extensions/ i naciskamy ENTER
5. Klikamy w przycisl „Załaduj rozapkowane”, w okienku wybieramy folder, w którym zapisaliśmy nasze pliki. Zatwierdzamy – plugin powinien pojawić się na liście.
6. Wchodzimy na YouTube, teraz możemy cieszyć się poziomem dźwięku wyrównanym do 0db.