У меня есть аудиообъект:
var audio = new Audio();
audio.preload = "auto";
audio.src = "myfile.mp3";
Когда воспроизводится звук, проигрыватель должен показать истекшее время:
audio.addEventListener('timeupdate', function(e) {
// Update the position of the scrubber
var progress = (audio.currentTime / audio.duration) * $('#audio_scrubber').width();
$('#audio_progress').width(progress);
// Update the time
$('#audio_time').html(new Date(audio.currentTime * 1000).toISOString().substr(14,5));
$('#audio_length').html(new Date(audio.duration * 1000).toISOString().substr(14,5));
});
Этот код отлично работает во время воспроизведения звука, но при первой загрузке страницы он выдает эту ошибку:
Uncaught RangeError: Invalid time value
at Date.toISOString (<anonymous>)
at Audio.<anonymous> (script.js:350)
Я не понимаю, не должен ли код addEventListener срабатывать только при воспроизведении звука?