Ich benutze eine MediaPlayer-Instanz, um Audiodateien von einem Internet-Ort zu streamen. Der Audio-Player befindet sich in einer separaten Aktivität. Der Benutzer kann aus einer Liste von Audiodateien auswählen und zu dieser Aktivität kommen, um den Ton abzuspielen.Android - finde heraus, ob Audio gerade abgespielt wird und stoppe ihn
Nun könnte der Benutzer zur vorherigen Aktivität (mit der Liste) zurückkehren und eine andere Audiodatei auswählen. In diesem Fall möchte ich alle anderen Audiodateien stoppen und mit der Wiedergabe des ausgewählten neuen Audiomaterials beginnen.
Kann ich irgendwie wissen, ob eine Audiodatei abgespielt wird, ohne das MediaPlayer-Objekt festhalten zu müssen?
Danke.
bearbeiten
ich fand heraus, wie zu wissen, ob ein Audio abgespielt wird. Wir können es tun, indem Sie ein Objekt von AudioManager verwenden und isAudioPlaying() aufrufen. Dadurch wird ein True wiedergegeben, wenn Audio wiedergegeben wird.
Jetzt die andere Frage, Wie höre ich eine Audio-Wiedergabe gerade auf? Ich habe keine Instanz des MediaPlayer-Objekts, das zum Starten der Audiodatei erstellt wurde (weil der Benutzer die Aktivität bereits einmal verlassen hat und mit einem neuen Objekt der Aktivität und somit einer neuen Instanz des MediaPlayers zurückgekehrt ist)
Dank. Wäre es besser, einen Dienst, eine statische Variable oder eine Singleton-Klasse zu verwenden? Was wäre die bessere Designoption? – lostInTransit