заказано: Затем активируйте кнопку .. или после этого активируйте кнопку

#java #android #select #android-music-player

Вопрос:

Это и есть рабочий процесс.

При выборе музыки я хочу, чтобы она воспроизводилась, и если я выберу ее на другом, она сбросит и остановит воспроизводимый клип, затем переместится на другой и воспроизведет его.

последний после предыдущего активируется
вопрос: Просто это три кода. Я хочу активировать.

Примечание: Мне удалось добавить команду для нажатия кнопки воспроизведения, но если я удалю первый код (сброс и остановка), который воспроизводится, просто выбрав его в списке, но он никогда не прекращает воспроизводить музыку и безостановочно накладывается друг на друга

            sound.reset();
           sound.stop();
           btn_play.callOnClick();
 

Часть кода завершена

  @Override
        public void onItemClick(AdapterView<?> adapterView, View view, int i, long l) {
            view.setSelected(true);
            sound.reset();
            sound.stop();
           btn_play.callOnClick();


            sound = MediaPlayer.create(SoundActivity.this, listitems.get(i).sound);
            tvTitle.setText(listitems.get(i).getTitle());
            SoundTime();

        }
    });



    final boolean[] isPlay = {false};
    btn_play.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View v) {

            if (!sound.isPlaying()) {
                Thread updateSeekBar;
                updateSeekBar = new Thread() {
                    @Override
                    public void run() {
                        int SoundDuration = sound.getDuration();
                        int currentPostion = 0;
                        seekBar.setMax(SoundDuration);
                        while (currentPostion < SoundDuration) {
                            try {
                                sleep(100);
                                currentPostion = sound.getCurrentPosition();
                                seekBar.setProgress(currentPostion);

                            } catch (InterruptedException e) {
                                e.printStackTrace();
                            }
                        }
                    }
                };
                sound.start();
                updateSeekBar.start();
            }
 

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

1. помогает ли вызов sound.stop() перед вызовом sound.reset ()?

2. Порядок сортировки был добавлен во всех его формах, и я также попытался добавить (sound.start), но, к сожалению, это не работает

3. Когда я нажимаю (btn_play) вручную, проблем нет. Проблема заключается в том, что при выборе и нажатии

4. Вы можете получить лучшие ответы, если четко объясните, что вы пытаетесь сделать (контекст), и где это не удается

Ответ №1:

Спасибо тем, кто пытался мне помочь. После долгих усилий я нашел очень простое решение:>

Я переместился (btn_play.callOnClick) вниз вот так

             @Override
        public void onItemClick(AdapterView<?> adapterView, View view, int i, long l) {

            view.setSelected(true);
            sound.stop();
            sound.reset();


            
            sound = MediaPlayer.create(SoundActivity.this, listitems.get(i).sound);
            tvTitle.setText(listitems.get(i).getTitle());
            SoundTime();
            btn_play.callOnClick();

        }
    });
 

Теперь мне остается автоматически переключиться на следующую музыку