#java #android
#java #Android
Вопрос:
Я создаю приложение для Android и подключаю Android Studio к Firebase, я извлек звук и нажал кнопки воспроизведения и паузы, кнопка воспроизведения работает, но функция паузы не работает, если я нажимаю кнопку паузы, тогда кнопка воспроизводит двойной звук, значит, переопределенная функция работает, и мой код:
play_song=(Button)findViewById(R.id.play_song);
play_song.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
final MediaPlayer mediaPlayer=new MediaPlayer();
try {
mediaPlayer.setDataSource("gs://myapplication-3a170.appspot.com/5946_download_nokia_tune_original_ringtone.mp3");
mediaPlayer.setOnPreparedListener(new MediaPlayer.OnPreparedListener() {
@Override
public void onPrepared(MediaPlayer mp) {
if (mp.isPlaying()) {
mp.pause();
}else {
mp.start();
}
}
});
mediaPlayer.prepare();
} catch (IOException e) {
e.printStackTrace();
}
}
});
Ответ №1:
Вы должны объявить MediaPlayer
как глобальную переменную. Вы создаете новый экземпляр для каждого onclick. И по этой причине вы воспроизводите звук при каждом нажатии.