EchoPlay — Hörspiel-Manager für Windows
Es fing damit an, dass ich irgendwann den Überblick verloren habe. Über tausend Hörspielfolgen auf der Festplatte, dazu Serien bei Spotify und Apple Music, und keine Möglichkeit, das alles an einem Ort zu sehen. Welche Folgen habe ich schon gehört? Gibt es neue Episoden von einer Serie, die ich seit Monaten verfolge? Und wo lag nochmal der Ordner mit den alten TKKG-Folgen? EchoPlay ist die Antwort auf diese Fragen — eine Desktop-App, die lokale Audiodateien und Streaming-Kataloge in einer einzigen Bibliothek zusammenführt.
Zwei Welten, eine Oberfläche
EchoPlay kennt zwei Arten von Hörspielen. Die einen liegen als Dateien auf dem Rechner — MP3, FLAC, Opus und fünf weitere Formate. Die anderen existieren nur in den Katalogen von Spotify und Apple Music. Beide Welten teilen sich dieselbe Datenbank, dieselbe Oberfläche und dieselben Funktionen. Du siehst deine komplette Sammlung als Kachelgitter mit Cover-Bildern, egal woher die Serie stammt.
Der Unterschied zeigt sich erst beim Klick auf eine Folge. Lokale Hörspiele spielt EchoPlay direkt ab — mit einem eingebauten Player, der auf der nativen Windows.Media.Playback-API basiert. Er unterstützt Playlisten, Kapitelnavigation und merkt sich die letzte Position pro Folge. Wenn du gestern beim dritten Kapitel aufgehört hast, springt er heute genau dorthin zurück. Online-Serien öffnen sich stattdessen im Browser beim jeweiligen Streaming-Dienst. EchoPlay ist kein Streaming-Client — es ist ein Katalog mit direktem Sprungpunkt.
Der Import aus Spotify und Apple Music
Vielleicht kennst du das: Du hörst eine Serie bei Spotify, eine andere bei Apple Music, und auf der Festplatte liegt noch eine Sammlung aus der Zeit vor den Streaming-Diensten. EchoPlay bringt das zusammen. Der Import funktioniert über die offiziellen APIs — bei Spotify über den Client-Credentials-Flow, bei Apple Music über die öffentliche Schnittstelle. Du brauchst kein Spotify-Konto zu verknüpfen und keine persönlichen Daten freizugeben. Die App sucht im Katalog, du wählst die Serie aus, und EchoPlay importiert die Metadaten samt Cover.
Lokale Hörspiele werden ähnlich unkompliziert eingebunden. Du gibst EchoPlay einen Ordner, die App scannt die Dateien, liest ID3-Tags aus und extrahiert Cover aus den Audiodateien oder aus Bildern im Ordner. Danach taucht die Serie in der Mediathek auf, genauso wie eine importierte Spotify-Serie — nur eben mit abspielbaren Tracks.
Nichts mehr verpassen
Eine Funktion, die ich selbst am meisten nutze, ist die Überwachung. Du markierst eine Serie mit dem kleinen Auge auf dem Cover, und EchoPlay prüft regelmäßig, ob bei Spotify oder Apple Music neue Folgen erschienen sind. Wenn ja, zeigt das Dashboard die Änderung sofort an. Das klingt nach einer Kleinigkeit, aber es ist der Unterschied zwischen „ich schaue jede Woche manuell bei drei Diensten nach“ und „die App sagt mir Bescheid“.
Dazu gibt es Favoriten — ein goldener Stern auf dem Cover, der deine Lieblingsserien markiert. Beides sind unabhängige Zustände: Eine Serie kann Favorit sein, überwacht werden, beides oder keines. Das Dashboard sortiert danach, sodass du deine wichtigsten Serien immer oben siehst.
Ordnung in der Sammlung
Wenn die Bibliothek wächst, braucht man Struktur. EchoPlay bietet dafür Tags — eigene Kategorien, die du frei vergeben kannst. „Krimi“, „Sci-Fi“, „Für unterwegs“, was auch immer für dich Sinn ergibt. Die Volltextsuche geht über Serien, Folgen und Tags hinweg, und der Tag-Manager gibt dir die Kontrolle über die Zuordnung.
Die Coversuche verdient eine eigene Erwähnung. Nicht jede lokale Serie hat ein sauberes Cover in den ID3-Tags. EchoPlay sucht automatisch über mehrere Quellen nach passenden Bildern und zeigt dir die Ergebnisse zur Auswahl an. Das ist eine dieser Funktionen, die man nicht braucht, bis man sie hat — und dann fragt man sich, wie man vorher ohne ausgekommen ist.
Wie es unter der Haube aussieht
EchoPlay ist mit C# und .NET 8 gebaut, die Oberfläche nutzt WinUI 3. Die App folgt dem MVVM-Pattern — ViewModels steuern die Logik, die XAML-Pages binden sich per x:Bind an die Properties, kein Code-Behind. Die Datenhaltung übernimmt SQLite über Entity Framework Core. Alles liegt in einer einzigen Datei auf dem Rechner, kein Server, kein Konto, keine Cloud.
Die Anwendung ist in fünf Projekte aufgeteilt, die jeweils eine klare Zuständigkeit haben. EchoPlay.Core enthält die fachlichen Abstraktionen und Interfaces — ohne Abhängigkeiten zu Datenbank oder UI. EchoPlay.Data kümmert sich um die Persistierung mit Entity Framework Core. EchoPlay.Spotify kapselt die Spotify-API vollständig. EchoPlay.LocalLibrary übernimmt das Scannen von Dateien und die Cover-Extraktion. Und EchoPlay.App ist die eigentliche Anwendung, in der alle Schichten als Composition Root zusammenlaufen.
Diese Trennung ist kein Selbstzweck. Sie bedeutet, dass ich die Spotify-Integration erweitern kann, ohne den Player anzufassen, oder die Datenbank umbauen kann, ohne dass sich in der Oberfläche etwas ändert. Und sie macht Tests möglich, die wirklich isoliert laufen — die Kernlogik ohne Datenbank, der API-Client ohne UI.
Hellmodus, Dunkelmode und zwei Sprachen
EchoPlay unterstützt ein helles und ein dunkles Theme, das der Windows-Systemeinstellung folgt. Und die gesamte Oberfläche ist in Deutsch und Englisch verfügbar, umschaltbar zur Laufzeit, ohne Neustart. Das sind keine spektakulären Features, aber sie gehören zu einer App, die man täglich benutzen möchte, einfach dazu.
Warum keine bestehende App?
Spotify hat eine Suchfunktion, Apple Music ebenfalls. Aber keine davon löst das eigentliche Problem: eine Sammlung pflegen, die über mehrere Quellen verteilt ist. Lokale Dateien tauchen in keiner Streaming-App auf. Spotify kennt keine Apple-Music-Serien. Und keiner der Dienste bietet eine Überwachung, die meldet, wenn eine bestimmte Serie eine neue Folge bekommt. EchoPlay ist die Verwaltungsebene darüber — ein persönlicher Katalog, der alle Quellen zusammenführt und die Übersicht behält, die kein einzelner Dienst bieten kann.
Die Tutorial-Serie
Wie EchoPlay technisch aufgebaut ist, beschreibt eine 35-teilige Tutorial-Serie hier im Blog. Von der Schichtenarchitektur über Entity Framework Core und Dependency Injection bis zur Spotify-Integration, WinUI-3-Themes und Lokalisierung — jeder Teil behandelt ein konkretes Thema aus der Entwicklung. Die Serie richtet sich an Entwickler, die eine reale Desktop-App nachvollziehen wollen, nicht an einem Lehrbuchbeispiel, sondern an einer Anwendung, die tatsächlich im Einsatz ist.
Die gezeigten Code-Beispiele dienen zur Veranschaulichung. Nutzung auf eigene Verantwortung. Mehr dazu