使用element的upload上傳文件時,除了類型和大小,需求需要限制只能長傳18秒內(nèi)的視頻,這里通過upload的before-upload,以及創(chuàng)建一個音頻元素對象拿到durtaion時長屬性來實現(xiàn)。
getVideoTime(file) {
return new Promise(async (resolve, reject) => {
let url = URL.createObjectURL(file);
let audioElement = new Audio(url);
let durtaion = 0;
audioElement.addEventListener('loadedmetadata', function () {
durtaion = audioElement.duration;
resolve(parseFloat(durtaion));
});
});
},
loadedmetadata 事件是當(dāng)指定的音頻/視頻的元數(shù)據(jù)已加載時觸發(fā),就可以得到元數(shù)據(jù),包括時長,尺寸等;
?這里使用promise是因為加載音頻元數(shù)據(jù)這是一個異步操作。
在上傳文件之前的鉤子里就可以拿到視頻的時長做判斷了,videoTimes的單位是秒。文章來源:http://www.zghlxwxcb.cn/news/detail-656730.html
? ? ?let videoTimes = await this.getVideoTime(file);文章來源地址http://www.zghlxwxcb.cn/news/detail-656730.html
到了這里,關(guān)于視頻上傳,限制時長,獲取視頻時長的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!