📐 实现原理
🚄 实现
- 考虑到后面这个东西会常用,因此我这里通过封装成独立一个JS文件。
- 文件名称:
videoDurationJudgment.js
✨方法封装✨
function videoDurationJudgment(file, maxDuration) {
return new Promise((resolve, reject) => {
const video = document.createElement('video');
video.preload = 'metadata';
video.src = URL.createObjectURL(file);
video.onloadedmetadata = () => {
URL.revokeObjectURL(video.src);
console.log('视频时长:', video.duration);
resolve(video.duration < maxDuration);
video.remove();
};
video.onerror = () => {
reject(new Error('视频加载出错'));
video.remove();
};
video.onabort = () => {
reject(new Error('视频加载中断'));
video.remove();
};
});
},
export default videoDurationJudgment
推荐阅读
常用JS工具函数-节流
常用JS工具函数-防抖
Vue实现前端导出PDF文件