German Probleme mit MediaPlayer als Service

ernschd

Active Member
Licensed User
Longtime User
Hallo,
ich habe eine Activity, einen MediaPlayer und ein Layout "PlayerLayout".
Wenn der MediaPlayer gestartet wird, soll dieser auch im Hintergrund aktiv bleiben. Darum habe ich das ganze als Service realisiert:
Meine Activity:
B4X:
Sub Activity_Create(FirstTime As Boolean)
   Activity.LoadLayout("PlayerLayout")
   
   If FirstTime Then
     playerService.MediaPlayer1.Initialize2("MP")
   End If
End Sub
Sub MP_Complete   
  Log("nächstes Lied abspielen")
End Sub
Der Service:
B4X:
Sub Service_Create  
End Sub
Sub Service_Start (StartingIntent As Intent)
  MediaPlayer1.Play   
End Sub
Sub Service_Destroy
  MediaPlayer1.Pause
End Sub
Das ganze funktioniert so lange, bis der Lockscreen aktiv wird, danach tritt das Event MP_Complete nicht mehr ein. Kann ich das irgendwie von dem Service aus erkennen?
Ich wollte es so umsetzen, da ich die GUI vom Player mit einem Timer aktualisiere. Oder habe ich einen Denkfehler drin? Kann ich die Oberfläche vom Service aus updaten?

Zweites Problem: ich wollte eine Kopfhörersteuerung implementieren:
B4X:
Sub Activity_KeyPress (KeyCode As Int) As Boolean
   If KeyCode = 79 Then     
     ' nächstes Lied
   End If   
End Sub
Funktioniert ebenfalls nur in der Activity. Wie kann ich das in dem Service verwenden?

Danke und Gruß
 

MasterGhostman

New Member
Licensed User
Longtime User
Hi ernscht,
da mein englisch bescheiden ist würde ich dich bitte (sofern du ne lösung hast) sie hier auch zu posten.
ich schätze mal das ich es schon bald brauchen könnte.

mfg
 

ernschd

Active Member
Licensed User
Longtime User
Hallo,

zumindest für das Event habe ich eine Lösung bekommen:

Der MediaPlayer muss im Service initialisiert werden, damit das Event MP_Complete dort abgefragt werden kann.
Zur Kommunikation mit der GUI muss CallSubDelayed aufgerufen werden.

Ich bin aber noch am Testen, wie das ganze genau aussieht. Auf jeden Fall funktioniert damit MP_Complete.
Für eine Lösung für das Problem bezüglich KeyPress bin ich noch auf der Suche.

Gruß
 
Top