volume-booster/README.md
2026-05-15 21:11:59 +02:00

58 lines
2.8 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# Volume Booster — Chrome Extension
Ein Volume Booster für Chrome: macht jeden Tab lauter (bis 600 %) oder leiser,
mit stummschalten und Schnellwahl-Presets.
## Installieren
1. ZIP entpacken (falls noch nicht geschehen).
2. In Chrome `chrome://extensions` öffnen.
3. Oben rechts **Entwicklermodus** einschalten.
4. **Entpackte Erweiterung laden** klicken und den Ordner `volume-booster` auswählen.
5. Das Lautsprecher-Icon erscheint in der Toolbar — anpinnen, fertig.
## Benutzen
- Auf das Icon klicken, um das Panel zu öffnen.
- **Slider** ziehen oder die **+ / ** Knöpfe nutzen (10 %-Schritte).
- **Mute**-Knopf (mittig) schaltet stumm und beim erneuten Klick wieder zurück.
- **Presets**: 100 % / 200 % / 400 % / 600 % für einen Klick.
- Pfeiltasten ↑ / ↓ funktionieren ebenfalls, wenn das Panel offen ist.
## Wie es funktioniert
- Bis **100 %** passiert nichts Besonderes — die Seite spielt normal.
- Über **100 %** holt der Service Worker per `chrome.tabCapture.getMediaStreamId`
eine Stream-ID des Tabs und reicht sie an ein **Offscreen-Dokument** weiter.
Dort wird der Stream durch einen Web-Audio `GainNode` geschickt und
verstärkt wieder ausgegeben.
- Der Umweg über das Offscreen-Dokument ist in Manifest V3 nötig: Der
Service Worker hat kein DOM und kann selbst kein Audio verarbeiten.
- Pro Tab wird ein eigener Verstärkungswert gespeichert (für die Session).
- Schließt du den Tab oder lädst ihn neu, wird der Stream sauber freigegeben.
## Hinweise
- Bei sehr hohen Werten kann der Ton übersteuern/verzerren — das ist eine
physikalische Grenze der Quelle, dann einfach etwas zurückdrehen.
- Funktioniert nicht auf internen Seiten wie `chrome://`,
dem Web Store oder anderen Extension-Seiten — dort gibt Chrome keinen
Audio-Stream frei.
- Beim ersten Verstärken eines Tabs muss kurz Audio laufen, damit Chrome
den Stream herausgibt.
- Verstärkung gilt jeweils für den Tab, in dem du sie einstellst.
- Nach einem Update der Extension immer einmal auf `chrome://extensions`
neu laden.
## Dateien
| Datei | Zweck |
|------------------|----------------------------------------------------------|
| `manifest.json` | Extension-Manifest (Manifest V3) |
| `background.js` | Service Worker — holt Stream-ID, steuert Offscreen-Doc |
| `offscreen.html` | Unsichtbares Dokument, Träger des Audio-Codes |
| `offscreen.js` | AudioContext + GainNode — das eigentliche Verstärken |
| `popup.html` | Aufbau des Interfaces |
| `popup.css` | Styling (dunkles Studio-Theme, Amber-Akzent) |
| `popup.js` | Logik, State, Kommunikation mit dem Worker |
| `icons/` | Icon in 16 / 32 / 48 / 128 px + SVG-Quelle |