MediaPlayer.isPlaying()
не позволяет узнать, остановлен или остановлен MediaPlayer
. Как узнать, приостановлена ли она и не остановлена?
Благодаря !
Один из способов сделать это – проверить, не проигрывается ли проигрыватель (приостановлен), и проверить, находится ли он в позиции, отличной от начальной позиции (1).
MediaPlayer mediaPlayer = new MediaPlayer(); Boolean isPaused = !mediaPlayer.isPlaying() && mediaPlayer.getCurrentPosition() > 1;
API не проверяет, приостановлен ли MediaPlayer
или нет. Поэтому, пожалуйста, используйте любую логическую переменную для проверки и переключения ее при паузе с помощью любой button
.
onClick(){ if(isPaused) { //resume media player isPaused = false; }else{ // pause it isPaused = true; } }
Существует метод isPlaying () в Media Player, который может использоваться для проверки, проигрывается ли медиаплеер или нет, и, соответственно, мы можем установить флаг и работать над ним. В настоящее время нет апи.
Определите boolean
переменную, называемую playedAtLeastOnce
(или все, что вы хотите), затем установите для нее значение true
если ваш объект MediaPlayer
был воспроизведен хотя бы один раз. Хорошим местом для назначения этого значения является onPrepared(MediaPlayer mp)
из MediaPlayer.OnPreparedListener
интерфейса MediaPlayer.OnPreparedListener
.
Тогда, если MediaPlayer
не воспроизводится, а playedAtLeastOnce
– это true
, вы можете сказать, что MedaiPlayer
приостановлен.
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; }
Поскольку Ankit ответил, нет никакого API, чтобы проверить, приостановлен ли Media Player или нет, мы должны проверить его программно, как это
private boolean pause=true; //A Boolean variable to check your state declare it true or false here depends upon your requirement
Теперь вы можете сделать способ здесь, чтобы проверить, что всякий раз, когда вы хотите проверить игрока, это пауза
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(); }