Hallo zusammen,
wie der Titel bereits vermuten lässt überlege ich schon seit einiger Zeit daran herum wie ich einen Musikplayer realisieren kann der mehrere Eingänge und unter Umständen auch mehrere Ausgänge unterstützt.
Konkret stelle ich mir das so vor: Der Player hat natürlich Zugriff auf lokale Dateien (zB MP3), aber es soll auch möglich sein andere Quellen wie ein Internetradio oder sonstige Streams (u.a. auch die Audiospur von YouTube-Videos) abspielen zu können. Diese Eingänge sollen dann auch auf verschiedene Ausgänge gelegt werden können. Auch hier natürlich der altbekannte Lautsprecherausgang, aber auch hier wäre es schick selber in einer Art "Internetradio" streamen zu können. Und ein UPnP-Server soll auch ein möglicher "Ausgang" sein. Auch soll es möglich sein während dem Betrieb die Eingänge und Ausgänge beliebig zu tauschen. Also angenommen es wird im Moment eine lokale Playlist abgespielt die über das Internetradio gestreamt wird, dann soll im nächsten Moment zB die lokale Playlist ebenfalls über den lokalen Lautsprecherausgang ausgegeben werden. Dabei aber nach Möglichkeit beide "Ausgänge" auf den gleichen "Eingang" zugreifen. Soll heißen das beide Ausgabespuren nahezu synchron laufen.
So viel zu meiner Idee, jetzt zu meinen Fragen 😀 - Gibt es solche Konzepte bereits an denen man sich orientieren kann? - Falls nein, welche Schnittstellen sind für sowas wohl am besten geeignet?
Ich hatte mir zB bei dem beschriebenen Anwendungsfall überlegt, ob es wohl möglich wäre jedem Eingang einen lokalen "Stream" zu spendieren, auf den dann von einer beliebigen Anzahl von Ausgängen gelesen werden kann. Geht das überhaupt so? Und wie ließe sich so etwas am besten "steuern", denn schließlich würde da sehr viel in Threads ablaufen. Am sinnvollsten wäre wohl eine Art "Oberklasse" oder Funktion die sozusagen auf oberster Instanz eventuelle Eingaben abfängt und dann die Threads entsprechend steuert? Das würde ich wohl über Sockets realisieren..
Ich hoffe ihr könnt mir da ein wenig weiterhelfen, auch wenn es mir bisher nur um das Konzept als solches und weniger um die konkrete Implementierung geht. ☺ Gruß