Показать сообщение отдельно
  #9 (permalink)  
Старый 27.06.2015, 10:49
Аватар для Опан
Кандидат Javascript-наук
Отправить личное сообщение для Опан Посмотреть профиль Найти все сообщения от Опан
 
Регистрация: 15.03.2013
Сообщений: 100

Сообщение от devote
preload="metadata"
Так я уже пробовал, не помогает. Похоже, что дело в другом - с момента объявления тега аудио до момента считывания duration должно пройти не меньше, чем столько-то времени:
<audio id=audio preload="metadata" src="1.mp3" controls></audio>

<script>
alert(audio.duration); // Не успевает считать из файла
setTimeout(function(){
	alert(audio.duration); // Успевает
},500);
</script>

Т. е., если duration нужно где-то использовать по ходу загрузки страницы, напрашивается необходимость создания задержки. А preload="metadata" при этом, получается, даже не играет роли. (Испытывал в браузере Амиго)
Ответить с цитированием