Показать сообщение отдельно
  #1 (permalink)  
Старый 25.06.2014, 09:07
Аспирант
Отправить личное сообщение для jule Посмотреть профиль Найти все сообщения от jule
 
Регистрация: 23.02.2013
Сообщений: 57

HTML5 audio duration в Chrome возвращает NaN
Всем доброго времени суток!Не могу понять, почему при выводе длительности мелодии, Chrome возвращает NaN. Я читал, что duration это делает, когда она не известна.Но как сделать так, чтобы она выводилась во всех браузерах?

<html>
<body>
<script type="text/javascript">

window.onload=function(){
var myaudio = document.getElementById("myaudio");
var duration = document.getElementById("duration");
duration.innerHTML = myaudio.duration;
}


</script>
<div id="duration"></div>
<audio id="myaudio">
	<source src="audio.mp3" type="audio/mp3"></source>
</audio>
</body>
</html>


Однако я заметил следующее:
1. Если код заключить в событие oncanplay:
myaudio.oncanplay=function(){duration.innerHTML = myaudio.duration;};

то всё будет наоборот.

2.Так работает во всех браузерах:
myaudio.onloadedmetadata = duration.innerHTML = myaudio.duration;	//Это работает в Firefox,но не в Chrome
myaudio.onloadedmetadata = function(){duration.innerHTML = myaudio.duration;};//Наоборот

Последний раз редактировалось jule, 25.06.2014 в 09:12.
Ответить с цитированием