TLDR; Я загружаю аудиофайл на своей странице html через JS, и, хотя файл загружается идеально, длительность аудио возвращается как бесконечность. Почему?
Я нахожусь в ситуации, подобной этой , за исключением того, что я пытался прослушать оба события, canplaythrough
и loadedmetadata
. В обоих случаях я получаю продолжительность звука Infinity
. Для ясности, я передаю этот аудиофайл из другого домена через мой nodejs сервер (вероятно, не этический, но только Po C). Долгое время это работало нормально, но проблема начала появляться недавно, и я не знаю почему. Пример кода ниже:
const audio = $audio.load(track, {userClicked: userClicked});
//service that creates an instance of audio object, sets the source url, calls the 'load' function and returns the instance
audio.on('canplaythrough', function (e) {
const secs = e.currentTarget.duration;
$('.duration', el).html(getReadableTime(secs));
});
audio.on('loadeddata', function () {
// display audio duration in readable form
$('.duration', el).html(getReadableTime(audio.duration));
});