2012-04-15 5 views
7

Ich verwende diesen Code unter eine Audiodatei in androidÜberprüfen Sie, ob Musik im Android-Media-Player-API

MediaPlayer mediaPlayer = new MediaPlayer(); 
mediaPlayer.setDataSource("fileSourceHere"); 
mediaPlayer.prepare(); 
mediaPlayer.start(); 

ich an diesem Programm eine Taste zu spielen. Wenn Sie auf diesen Knopf klicken, wird geprüft, ob Musik gespielt wird. Wenn Musik spielt, hört es auf. Wie kann ich prüfen, ob Musik gespielt wird? Ich habe versucht, den Code unten, aber es hat nicht funktioniert

if(mediaPlayer.isPlaying() == true){ 
mediaPlayer.pause(); 
}else{ 
mediaPlayer.start(); 
} 
+3

Sie brauchen nicht '== true'. 'isPlaying()' überprüft für Sie. Alles andere scheint richtig zu sein. – adneal

+2

Können Sie erklären, was passiert? "Es hat nicht funktioniert" sagt nicht, was passiert ist oder nicht. –

+0

Musik hörte nicht auf. Nichts anderes ist passiert. –

Antwort

4

Try this:

MediaPlayer mediaPlayer = new MediaPlayer(); 
mediaPlayer.setDataSource("fileSourceHere"); 
mediaPlayer.prepare(); 
mediaPlayer.start(); 

if(mediaPlayer.isPlaying()) 
{ 
    //stop or pause your media player mediaPlayer.stop(); or mediaPlayer.pause(); 
    mediaPlayer.pause(); 
} 
else 
{ 
    mediaPlayer.start(); 
} 
4

Um zu überprüfen, ob Musik von einem anderen App zu spielen. Verwenden Sie

AudioManager.isMusicActive(); 

Und wenn Sie über Ihre App Musik wissen wollen.

Listener hinzufügen

mediaPlayer.setOnPreparedListener(this); 

mediaPlayer.setOnCompletionListener(this); 

mediaPlayer.setOnErrorListener(this); 

Sie eine boolean Variable hinzufügen können hören isPlaying zu überprüfen;

boolean isPlaying= false; //false by default 

und wenn Sie start mediaPlayer in dem Moment eingestellt isPlaying=true und Sie sind gut zu gehen.

Verwandte Themen