Панель поиска не работает, когда медиаплеер получает данные с URL - PullRequest
0 голосов
/ 02 мая 2020

Я пытаюсь создать музыкальный проигрыватель c, в котором на данный момент есть только одна песня. Сначала я сделал медиаплеер, чтобы получить оценку из локального файла. и панель поиска, счетчики работают просто отлично. Теперь я решил установить источник данных на URL-адрес Firebase, и панель поиска не работает, таймер работает, но продолжительность показывает ноль.

String url = "...file"; // your URL here
    mediaPlayer = new MediaPlayer();
    try {
        mediaPlayer.setDataSource(url);
    } catch (IOException e) {
        e.printStackTrace();
    }
    mediaPlayer.setAudioStreamType(AudioManager.STREAM_MUSIC);
    mediaPlayer.prepareAsync();

SeekBar:

final SeekBar scrubSeekBar = findViewById(R.id.scrubSeekBar);
    scrubSeekBar.setMax(mediaPlayer.getDuration());

    scrubSeekBar.setOnSeekBarChangeListener(new SeekBar.OnSeekBarChangeListener() {
        @Override
        public void onProgressChanged(SeekBar seekBar, int progress, boolean fromUser) {
                int newTime = (int) (progress/100.0) * duration;
                mediaPlayer.seekTo(newTime);
        }

        @Override
        public void onStartTrackingTouch(SeekBar seekBar) {
            mediaPlayer.pause();
        }

        @Override
        public void onStopTrackingTouch(SeekBar seekBar){
            mediaPlayer.start();
        }
    });

seekbar таймер обновления:

new Timer().scheduleAtFixedRate(new TimerTask() {
        @Override
        public void run() {
            scrubSeekBar.setProgress(mediaPlayer.getCurrentPosition());
        }
    },0,1000);

Пробовал различные способы исправить это, но ничего не помогло.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...