# Musikplayer mehrere Aktivities



## Lucaaa (1. Jan 2019)

Hallo!
Ich möchte einen Musikplayer programmieren. Also brauche ich folgendes:
- Startbildschirm der alle Lieder anzeigt (Habe ich)
- eine Ansicht mit Lied und Play/Stop Button am unteren Rand (Habe ich noch nicht, ist aber nicht das problem)
- Eine Player Aktivity wie man das von jedem Musikplayer kennt (Cover oben in der Mitte, Progressbar, buttons usw. (Habe ich)

Das Problem:
Ich brauche irgendwie eine zentrale Komponente, einen Service oder so, der ds Abspielen der usik verwaltet. Ich muss darauf von überall aus zugreifen können,  also von der Startaktivität, der Plaeraktivität, und evtl. einer Nachricht oben im Nachrichtencenter. Das ganze  muss natürlich auch weiter laufen, wenn die App geschlossen wird so wie man das halt kennt.

Wie kann ich das umsetzen? Ich dachte an einen Service aber ich weiß nicht ganz, wie ich von überall darauf zugreifen könnte. Zum Beispiel bei einem Systemservice wie der Vibration u.ä kann ich mir den aus dem System von überall holen, ohne irgendwelche Variablen hin und her schieben zu müssen. Vielleicht ist sowas ja auch hier möglich?
Danke schonmal!


----------



## mihe7 (1. Jan 2019)

Guckst Du hier: https://developer.android.com/guide/components/services, insbesondere https://developer.android.com/guide/components/services#Foreground


----------



## Lucaaa (1. Jan 2019)

mihe7 hat gesagt.:


> Guckst Du hier:


Ja das sieht gut aus. Mein Problem ist jetzt nur, wie kriege ich den Fortschritt des Musiktitels aus dem Service?
Was mir spontan Einfällt wäre:
- Activity: Sende jede Sekunde Broadcast an Service
- Service: sende bei erhalt Broadcast an Activity mit Statusdaten
- Activity: Werte daten aus und aktualisiere die UI


----------



## mihe7 (1. Jan 2019)

https://developer.android.com/training/run-background-service/report-status


----------



## Lucaaa (1. Jan 2019)

mihe7 hat gesagt.:


> https://developer.android.com/training/run-background-service/report-status


Also lasse ich den ersten Schritt weg, und lasse den Service einfach jede Sekunde oder so die Daten senden?


----------



## mihe7 (1. Jan 2019)

Ich weiß zwar nicht, welchen ersten Schritt Du meinst, aber über den Broadcast hast Du ja eine publish-subscribe-Kommunikation und kannst daher alle interessierten Objekte über den Fortschritt benachrichtigen.


----------



## Lucaaa (1. Jan 2019)

mihe7 hat gesagt.:


> Ich weiß zwar nicht, welchen ersten Schritt Du meinst


Ein Paar posts vorher...

Ich habe jetzt einen Timer der jede Sekunde den Fortschritt in die Welt hinaus schreit!


----------

