Воспроизведение аудио с URL один за другим - PullRequest
0 голосов
/ 20 апреля 2019

Я хочу автоматически воспроизводить / воспроизводить аудио с URL-адреса один за другим.

вот что я пробовал:

final String audioUrl[] = {"https://www.googleapis.com/storage/v1/b/ezconnectpoc/o/NV.wav?alt=media", "https://www.googleapis.com/storage/v1/b/ezconnectpoc/o/cqo.wav?alt=media"};

backtobackButton.setOnClickListener(new View.OnClickListener() {
    @Override
    public void onClick(View view) {
        try {
            mediaPlayer.setAudioStreamType(AudioManager.STREAM_MUSIC);
            mediaPlayer.setDataSource(audioUrl[currentTrack]);
            mediaPlayer.prepareAsync();

            mediaPlayer.setOnPreparedListener(new MediaPlayer.OnPreparedListener() {
                @Override
                public void onPrepared(MediaPlayer mp) {
                    mediaPlayer.start();
                }
            });

            mediaPlayer.setOnCompletionListener(new MediaPlayer.OnCompletionListener() {
                @Override
                public void onCompletion(MediaPlayer mp) {
                    try {
                        Log.d("Current track",currentTrack+"");
                        Log.d("audioUrl.length",audioUrl.length+"");
                        if (currentTrack < audioUrl.length) {
                            currentTrack++;
                            mediaPlayer.setDataSource(audioUrl[currentTrack]);
                            mediaPlayer.setOnCompletionListener(this);
                            mediaPlayer.start();
                        }
                        mediaPlayer.stop();
                    } catch (Exception e) {
                        e.printStackTrace();
                    }
                }
            });
        } catch (Exception e) {
            e.printStackTrace();
            // make something
        }
    }
});

Мой первый аудио-URL воспроизводится, когда я нажимаю backtoback названную кнопку, но не могу воспроизвести второй аудио из URL-адреса.

1 Ответ

0 голосов
/ 20 апреля 2019

изменил эту часть кода

mediaPlayer.reset();
mediaPlayer.setDataSource(audioUrl[currentTrack]);
mediaPlayer.prepareAsync();
mediaPlayer.setOnCompletionListener(this);
mediaPlayer.start();
currentTrack++;

и работал.

...