Итак, у меня есть кнопка, которая воспроизводит выбранный файл. Однако я хочу приостановить воспроизведение, когда кнопка снова нажата. Я проверил несколько сообщений и учебников StackOverflow, и метод паузы - это то, что было использовано в большинстве случаев. Однако это не работает для меня. Звук продолжает воспроизводиться. Я что-то упустил или есть проблема с моим кодом? Любая помощь приветствуется. Благодаря!Android MediaPlayer не будет останавливаться
buttonPlay.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
String fileName = getFileSelected();
MediaPlayer m = new MediaPlayer();
if (!m.isPlaying() && (getFileSelected().endsWith(".3gp") || getFileSelected().endsWith(".wav"))) {
try {
m.setDataSource(getActivity().getApplicationContext().getExternalFilesDir(null).toString() + File.separator + fileName);
} catch (IOException e) {
e.printStackTrace();
} catch (IllegalArgumentException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (IllegalStateException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
try {
m.prepare();
} catch (IllegalStateException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
isPlaying = true;
buttonPlay.setText("Stop");
m.start();
Toast.makeText(getActivity().getApplicationContext(), "Playing audio", Toast.LENGTH_LONG).show();
}
else{
// m.stop();
// m.release();
// m = null;
m.pause();
isPlaying = false;
setButtonLabel(R.id.btnPlay, "Play Selected Recording");
}
}
});
Вы делаете ту же ошибку, как [здесь] (http://stackoverflow.com/questions/6234838/mediaplayer-pause-doesnt-work-in-android), Вы не должны инициализировать новый экземпляр «MediaPlayer» внутри 'onClick'. –