Пауза медиаплеера не работает в Android

#android #media-player

#Android #медиаплеер

Вопрос:

Я использую следующий код для приостановки воспроизведения аудиофайла. но он не приостанавливается. Что не так с кодом. Любое предложение…

логическое воспроизведение = false; флаг int = 0; mPlay.setOnClickListener(новый OnClickListener() {

public void onClick(View v) { mPlayer = new MediaPlayer(); if(play==false) { flag ; if(flag==1) { playAudio(); } else { mPlayer.start(); } mPlay.setText("Pause"); play=true; } else if(play==true) { mPlayer.pause(); mPlay.setText("Play"); play=false; } mPlayer.setOnCompletionListener(new OnCompletionListener() { public void onCompletion(MediaPlayer mp) { // TODO Auto-generated method stub play=false; flag=0; } });

Ответ №1:

Проблема заключается вот в чем: mPlayer = new MediaPlayer(); вы инициализируете свой проигрыватель при каждом нажатии, поэтому вы пытаетесь приостановить работу совершенно нового проигрывателя, который нельзя приостановить, потому что он не воспроизводится. Вы должны инициализировать проигрыватель вне onClick метода.

Комментарии:

1. Но как бы вы отнеслись к созданию кнопки, которая запускает и приостанавливает медиаплеер?

2. @EGHDK, просто используйте MediaPlayer.start() и MediaPlayer.pause() для реализации логики и флаг для переключения состояний медиаплеера. Мне кажется довольно простым.

3. Наверное, я просто не знаю, где инициализировать mPlayer = new MediaPlayer();

4. @EGHDK, инициализируйте его в методе onCreate() вашей активности.

5. Хм… Мне придется задать новый вопрос, потому что я действительно не могу заставить его работать должным образом.