I tried this function to get the duration of a video from input field but it keep saying
Cannot read property '0' of undefined\
for the files[0]
<input type="file" required="" id="id_video"></p>
<input type="number" required="" id="id_duration"></p>
<input type="submit" value="Upload">
<pre id="infos"></pre>
<script>
var myVideos = [];
window.URL = window.URL || window.webkitURL;
document.getElementById('id_video').onchange = setFileInfo;
function setFileInfo() {
var files = this.files;
myVideos.push(files[0]);
var video = document.createElement('video');
video.preload = 'metadata';
video.onloadedmetadata = function() {
window.URL.revokeObjectURL(video.src);
var duration = video.duration;
myVideos[myVideos.length - 1].duration = duration;
updateInfos();
}
video.src = URL.createObjectURL(files[0]);
}
function updateInfos() {
var infos = document.getElementById('infos');
infos.textContent = "";
for (var i = 0; i < myVideos.length; i++) {
console.log(myVideos[i].duration)
infos.textContent += myVideos[i].name + " duration: " + myVideos[i].duration + '\n';
}
}
</script>