Intereting Posts
Установить положение / размер элемента пользовательского интерфейса в процентах от размера экрана Android Cursor? Как читать данные объекта? Robolectric tank на объектах Application, которые загружают библиотеки JNI. Могу ли я найти решение? Странная ошибка с использованием onCreateView в PreferenceFragment при вызове addPreferencesFromResource из onCreate Как распространять библиотеку Android Https-код безопасности не проверяется на мобильных устройствах с помощью сервера openshift Чтение названий активности из файла apk в Android Android – с помощью Jsoup с файлом html android_asset RegisterBroadcastReceiver в настройке Manifest.xml или исходным кодом реализации Как избежать частых обновлений местоположения? Увеличение громкости записанного аудио In-Application BroadcastReceiver Нажмите на уведомление, чтобы перейти к текущей деятельности Как использовать тот же макет для Android и iPhone с использованием Titanium? Как отключить / освободить обзор поверхности от медиаплана андроида

Android: как узнать, приостановлена ​​ли MediaPlayer?

MediaPlayer.isPlaying() не позволяет узнать, остановлен или остановлен MediaPlayer . Как узнать, приостановлена ​​ли она и не остановлена?

Благодаря !

Solutions Collecting From Web of "Android: как узнать, приостановлена ​​ли 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(); }