Intereting Posts
Реализовать расширенный просмотр Android-ресайклеров с помощью липких заголовков, функцией поиска, алфавитным селектором боковой стороны и элементами / картами Swipable? Как включить библиотеку GitHub в существующий проект Android в eclipse Android: В чем разница между заголовком и aciton bar Какая анимация / просмотр используется для последних приложений / истории в Android 5.0 (Lollipop)? Google GCM android crashes (java.lang.NoClassDefFoundError: com.google.android.gms.R $ string) Padding / Space Application bar между значком и заголовком (Android 24) Admob Interstitial ad (полноэкранный) не будет показывать Как проверить доступное пространство на устройстве Android? На SD-карте? Возможно ли установить несколько приложений Android в один файл APK? Текст не отображается с иконками в портретном режиме на SherlockActionBar Как получить электронную почту пользователя на GraphRequest.newMeRequest Android TableLayout Width Студия Android показывает источники из API compileSdkVersion при отладке на устройстве со старым API HTML5 SQLite vs Native Database в случае PhoneGap Как отслеживать каждый статус отправленного SMS?

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