Intereting Posts
Android-Broadcast Receiver и Intent Filter Что означает «->» (стрелка) в графе зависимостей градле? В Android (на JB), как я могу добавить действие к пользовательскому расширенному уведомлению? Как создать новый диалоги андроида в диалоговом окне «круг» Android Proguard – это лучшая практика для всех сторонних библиотек? Продолжайте получать 404 для apple-touch-icon.png Android – addToBackStack () не работает? Удержание соединения Bluetooth с помощью нескольких действий SetPluginsEnabled не существует для WebView Android – Маскирование растрового изображения с использованием другого растрового изображения IntelliJ IDEA считает, что частью моего проекта является подрывная деятельность вместо git, как это исправить? Удалите мое приложение из диспетчера учетных записей Android «добавьте аккаунт» Создание нескольких копий приложения для Android Получить ключевое имя jsonarray Статическая переменная инициализация на M, но не на L из-за применения onCreate (), вызываемого более одного раза

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(); }