функция паузы в mp3-плеере firebase

#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. И по этой причине вы воспроизводите звук при каждом нажатии.