ตรวจสอบ readyState ก่อนอ่าน Duration
readyState มีค่า 0-4 เมื่อโหลด metadata แล้ว จะมีค่า >= 1
โค้ดรอ metadata แล้วอ่าน duration
var tm = window.setInterval(function() {
if (video.readyState > 0) {
var duration = Math.round(video.duration);
$('#duration').text(duration);
clearInterval(tm);
}
}, 1000);
ต้องรอให้ metadata โหลดเสร็จ (readyState > 0) ถึงจะได้ video.duration ที่ถูกต้อง