Почему audio.duration у audio с файлом типа ogg всегда равен infinity?
возникла следующая задача: При загрузке элемента аудио с типом файла audio/ogg любые попытки получить duration возвращают Infinity Duration определяется только (замерил на нескольких файлах) после ровно половины проигранной дорожки Подскажите пожалуйста, почему так происходит? Й
Ответы (1 шт):
Автор решения: Опан
→ Ссылка
Как Вы замеряли? Сразу после загрузки элемента аудио браузер не успевает прочитать аудиоданные из файла и выдаёт NaN. Это можно вставить в функцию нажатия на воспроизведение, клик на другой элемент и др. В этом примере duration показывается по клику в любое место страницы:
<audio id=audio src="http://opan.strana.de/stack/sud.ogg" controls></audio>
<script>
console.log(audio.duration); // не успевает прочитать файл
audio.onplay = () => console.log(audio.duration);
document.onclick = () => console.log(audio.duration);
</script>
А МП3 это или OGG, рояли не играет.