2016-07-14 15 views
1

Ich benutze den MediaPlayer und er spielt weiter im Hintergrund, wenn der Benutzer die Aktivität verlässt, indem er zurück drückt (ich will das passieren), jedoch wenn der Benutzer zurück, haben sie keine Kontrolle über den bereits abspielenden MediaPlayer, da die Zeile mediaPlayer = new MediaPlayer() eine neue instanziiert.Wie vermeide ich, eine neue Instanz von MediaPlayer zu erstellen, wenn ich zur Aktivität zurückkomme

Ich kann auch nicht mediaPlayer.create() bekommen zu arbeiten, da ich eine Verbindung bin mit zu Soundcloud die Linien

mediaPlayer1.reset(); 
mediaPlayer1.setDataSource(getResources().getString(R.string.Basic_lesson_1)); 
mediaPlayer1.prepareAsync(); 

erfordern. Wie kann ich einen neuen MediaPlayer nur dann instanziieren, wenn dieser noch nicht existiert?

+1

statische Media-Player erstellen und prüfen, ob nicht null – Pavya

+0

@Pravin das es behoben, Dank !!! –

+0

@ J.Doe willkommen :) – Pavya

Antwort

0
private static MediaPlayer mediaPlayer1 = null; 

//SomeActivity's onCreate() 
if(mediaPlayer1 == null) 
    mediaPlayer1.create(...); 
+0

Während dieses Code-Snippet die Frage lösen kann, [hilft eine Erklärung] (http://meta.stackexchange.com/questions/114762/explaining-entirely-code-based-answers) wirklich um die Qualität Ihres Posts zu verbessern. Denken Sie daran, dass Sie die Frage für Leser in der Zukunft beantworten, und diese Leute könnten die Gründe für Ihren Codevorschlag nicht kennen. – yennsarah

1

erstellen Globale statische Medien-Player und immer Validierung durchführen, wie @Pravin sagt während Media Player wie erstellen.

if(mediaPlayer == null){ 
    mediaPlayer = new MediaPlayer() 
} 
+0

Das hat es behoben! Danke vielmals! –

0

Wie wäre die Methode Stop evozieren() auf backKeyPress

+0

Ich brauche den MediaPlayer, um weiter zu spielen: P –

Verwandte Themen