Почему аудио объект выдает ошибку 'Недопустимое значение времени' для toISOString (), когда аудио не воспроизводится? - PullRequest
0 голосов
/ 13 сентября 2018

У меня есть аудиообъект:

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 срабатывать только при воспроизведении звука?

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