Я пытаюсь создать музыкальный проигрыватель 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);
Пробовал различные способы исправить это, но ничего не помогло.