Как получить время продолжительности видео/аудио в угловой форме, когда выбран файл для загрузки?
Я получаю каждый файл в формате .html с помощью этого прослушивателя событий:
(change)="fileSelected($event)"
и в файле .ts есть этот код:
attachedFile;
fileSelected($event) {
this.attachedFile = <File>event.target.files[0]
var video = document.createElement('video');
video.preload = 'metadata';
video.onloadedmetadata = function() {
window.URL.revokeObjectURL(video.src);
var duration = video.duration; // here we have duration time but couldn't use out of this scope
}
video.src = URL.createObjectURL(this.attachedFile);
//not available in fileSelected function scope
console.log(duration); //undefined
}
var foo = duration; // undefined
video.onloadedmetadata
функцияconsole.log(duration)
уже выполняется. - person Eeshwar Ankathi   schedule 07.08.2019undefined
, а неReference Error
, что означает, что здесь применяется тот же оператор, к тому времени, когда продолжительность установлена, остальная часть кода выполняется. - person Eeshwar Ankathi   schedule 07.08.2019