@connecter

Duration == infinity для audio, если не был воспроизведен?

Всем привет, почему duration == infinity после загрузки, а если полностью воспроизвести аудио, то duration определяется правильно? Как определить длительность сразу после загрузки без воспроизведения?
p.s про тег audio
  • Вопрос задан
  • 32 просмотра
Пригласить эксперта
Ответы на вопрос 2
l3ftoverz
@l3ftoverz Куратор тега JavaScript
Туды сюды
while(video.duration === Infinity) {
  await new Promise(r => setTimeout(r, 1000));
  video.currentTime = 10000000*Math.random();
}
let duration = video.duration;


Решение со стаковерфлоу, там же говорят, что это из-за бага в хроме.
Ответ написан
profesor08
@profesor08 Куратор тега JavaScript
const audio = new Audio();

audio.src = "audio.mp3";

audio.addEventListener("canplay", () => {
	alert(audio.duration);
});
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы