2014-03-04 10 views

Antwort

4

Es gibt keine API, um zu überprüfen, ob MediaPlayer pausiert ist oder nicht. Verwenden Sie also bitte eine beliebige boolesche Variable, um sie zu überprüfen und umzuschalten, wenn Sie mit einer beliebigen button pausierten.

onClick(){ 
if(isPaused) 
    { 
    //resume media player 
    isPaused = false; 
    }else{ 
    // pause it 
    isPaused = true; 
    } 
} 
+0

Wenn es keine solche Methode ist, dann, wie Sie Wert von isPaused Variable gesetzt werden? – Kedarnath

+0

isPaused =! IsPaused –

-1

Als Ankit beantwortet es keine API, ob Media Player zu überprüfen ist, angehalten oder nicht, haben wir es programmatisch wie diese Sie

private boolean pause=true; //A Boolean variable to check your state declare it true or false here depends upon your requirement 

Jetzt prüfen kann hier ein Verfahren machen zu überprüfen, ob, wann immer Sie wollen Spieler überprüfen ist Pause

public void checkplayer(MediaPlayer player){ 
if(isPause=true) //check your declared state if you set false or true here 
Player.pause(); 
else if(isPause=false){ 
Player.play(); 
or 
Player.stop(); 
} 
1

ein Verfahren isPlaying() in Media Player ist die, wenn der Media Player überprüfen verwendet werden kann oder nicht spielen und dementsprechend können wir ein Flag gesetzt und arbeite daran. Derzeit gibt es keine API davon.

9

Eine Möglichkeit besteht darin, zu überprüfen, ob der Media Player nicht spielt (pausiert) und zu prüfen, ob er sich an einer anderen Position als der Startposition (1) befindet.

MediaPlayer mediaPlayer = new MediaPlayer(); 

Boolean isPaused = !mediaPlayer.isPlaying() && mediaPlayer.getCurrentPosition() > 1; 
+0

Docs sagen, dass getCurrentPosition "die aktuelle Position in Millisekunden" zurückgibt. Wenn Sie den mediaPlayer nie in Pause gesetzt haben, wird es eine riesige Zahl wie 1628054332 oder ähnlich (wahrscheinlich Systemzeit in Millis seit 1970). Um sich also um das erste Mal zu kümmern, wenn der Benutzer spielt (ohne vorher eine Pause zu machen), müssen Sie eine Art von Flagge einführen. –

0

definieren boolean Variable namens playedAtLeastOnce (oder was auch immer Sie wollen) dann auf true wenn Ihr MediaPlayer Objekt zumindest für eine Zeit gespielt wurde. Ein guter Platz, um es True zuzuweisen ist in onPrepared(MediaPlayer mp) Methode von MediaPlayer.OnPreparedListener implementierte Schnittstelle.

Dann, wenn MediaPlayer nicht und playedAtLeastOnce spielen ist true, kann man sagen, dass MedaiPlayer pausiert.

boolean playedAtLeastOnce; 

@Override 
public void onPrepared(MediaPlayer mp) { 
    mp.start(); 
    playedAtLeastOnce = true; 
} 

public boolean isPaused() { 
    if (!mMediaPlayer.isPlaying && playedAtLeastOnce) 
     return true; 
    else 
     return false; 
    // or you can do like this 
    // return !mMediaPlayer.isPlaying && playedAtLeastOnce; 
}