2012-04-15 47 views
7

我用下面這段代碼中發揮Android的檢查是否在Android的媒體播放器API

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

音頻文件我有該程序的按鈕音樂播放。當點擊該按鈕時,它會檢查是否播放音樂。如果音樂播放,它會停止。我如何檢查音樂播放?我想下面的代碼,但沒有奏效

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

你不需要'== true'。 'isPlaying()'檢查你。其他一切似乎都是正確 – adneal 2012-04-15 06:57:03

+2

你能解釋會發生什麼嗎? 「它沒有工作」並沒有說什麼或沒有發生。 – 2012-04-15 06:58:23

+0

音樂沒有停止。沒有其他事發生。 – 2012-04-15 07:11:35

回答

4

試試這個:

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

要檢查是否音樂播放任何其他應用程序。使用

AudioManager.isMusicActive(); 

如果你想知道你的應用音樂。

添加監聽器監聽

mediaPlayer.setOnPreparedListener(this); 

mediaPlayer.setOnCompletionListener(this); 

mediaPlayer.setOnErrorListener(this); 

你可以添加一個布爾變量來檢查IsPlaying模塊;

boolean isPlaying= false; //false by default 

,當你start mediaPlayer在非常時刻設置isPlaying=true,你是好去。