Ein einfacher Internetradio Player mit Presets.
Find a file
2025-12-18 22:16:57 +01:00
img Upload files to "img" 2025-09-22 17:29:09 +02:00
index.html Update index.html 2025-12-18 19:21:29 +01:00
LICENSE LICENSE aktualisiert 2025-08-14 09:49:07 +02:00
main.js Update main.js 2025-12-18 19:05:05 +01:00
meta-handler.js Update meta-handler.js 2025-12-18 19:10:24 +01:00
metadata.php Upload files to "/" 2025-12-18 17:17:16 +01:00
preset-manager.js Upload files to "/" 2025-12-18 17:17:16 +01:00
readme.md Update readme.md 2025-12-18 22:16:57 +01:00
sleeptimer.js Upload files to "/" 2025-12-18 17:17:16 +01:00
style.css Update style.css 2025-12-18 19:11:44 +01:00
ui-helper.js Upload files to "/" 2025-12-18 17:17:16 +01:00
webradio_presets.json Add webradio_presets.json 2025-09-22 17:27:05 +02:00

📻 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

  1. Lade alle Dateien herunter und kopiere sie auf deinen Webserver.
  2. Falls du die Titelanzeige (Metadaten) nutzen möchtest, muss dein Server PHP unterstützen.
  3. 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.php erreichbar ist und die PHP-Erweiterung CURL aktiviert 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 https läuft, sollten auch die Stream-URLs mit https:// 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!