3.1 KiB
3.1 KiB
📻 Radioplayer mit Presets
Ein moderner, leichtgewichtiger Internetradio-Player zum Selber-Hosten. Der Player ist modular aufgebaut, responsiv und bietet volle Kontrolle über deine Senderliste.
✨ Features
- Läuft auch auf Servern ohne PHP: Es ist nur HTML und JavaScript nötig.
- Individuelle Presets: Sender können einfach hinzugefügt, bearbeitet, gelöscht und per Drag & Drop sortiert werden.
- Metadaten-Anzeige: Automatische Anzeige von Sendername und aktuellem Song (erfordert PHP-Unterstützung für den Proxy).
- Flexibler Import/Export: Sichere deine Senderliste als JSON-Datei oder teile sie über einen kompakten URL-String.
- Sleeptimer: Praktische Abschaltautomatik mit Live-Restzeitanzeige auf dem Button.
- Local Storage: Deine Einstellungen werden direkt im Browser gespeichert – kein Datenbank-Setup nötig und Multi-User tauglich.
- Modularer Code: Sauber getrennte Logik für UI, Presets, Metadaten und Player.
🛠 Installation
- Lade alle Dateien herunter und kopiere sie auf deinen Webserver.
- Falls du die Titelanzeige (Metadaten) nutzen möchtest, muss dein Server PHP unterstützen.
- Keine Datenbank nötig: Beim ersten Aufruf ist die Senderliste leer. Du kannst deine Sender einfach über "Presets bearbeiten" hinzufügen oder einen Export-String importieren.
📂 Dateistruktur & Module
Um den Code wartungsfreundlich zu halten, ist das Projekt modular aufgebaut:
index.html: Das Grundgerüst und das User-Interface.main.js: Die Schaltzentrale (Orchestrierung von Player und Events).ui-helper.js: Zentrale Steuerung für Modals (Fenster) und allgemeine UI-Elemente.preset-manager.js: Logik für das Speichern, Laden und Komprimieren der Senderliste.preset-ui.js: Verwaltung der Bearbeitungs-Tabelle und der Export-Funktionen.sleeptimer.js: Logik für die automatische Abschaltung und das Update der Zeitanzeige.meta-handler.js: Kommuniziert mit dem PHP-Proxy für Song-Metadaten.metadata.php: Der PHP-Backend-Proxy zum Abrufen von ICY-Metadaten der Streams.
🚀 Nutzung
- Sender hinzufügen: Über "Presets bearbeiten" kannst du eigene Namen und Stream-URLs eintragen.
- Sortieren: Nutze das ☰-Symbol in der Liste, um die Reihenfolge per Drag & Drop zu ändern.
- Teilen: Kopiere den Share-Link im Bearbeitungs-Fenster, um deine Liste auf einem anderen Gerät (z.B. Handy) zu öffnen.
🔍 Fehlerbehebung (Troubleshooting)
- Keine Titelanzeige: Überprüfe, ob die
metadata.phperreichbar ist und die PHP-ErweiterungCURLaktiviert ist. - Presets werden nicht gespeichert: Stelle sicher, dass "Local Storage" im Browser aktiviert ist.
- Stream spielt nicht ab: Achte auf "Mixed Content". Wenn deine Seite über
httpsläuft, sollten auch die Stream-URLs mithttps://beginnen. - Symbole fehlen: Das Projekt nutzt FontAwesome. Stelle sicher, dass eine aktive Internetverbindung besteht, um die Icons vom CDN zu laden.
⚖️ Lizenz
Unlicense (Siehe LICENSE)
Viel Spass beim Radiohören!