#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. Хм… Мне придется задать новый вопрос, потому что я действительно не могу заставить его работать должным образом.