常用JS工具函数-判断视频的时长

发布时间 2023-11-30 10:51:38作者: 清风°

? 实现原理

  • 通过创建一个Video标签,然后获取时长

? 实现

  • 考虑到后面这个东西会常用,因此我这里通过封装成独立一个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元素
        };
        video.onerror = () => {
          reject(new Error('视频加载出错'));
          video.remove(); // 销毁video元素
        };
        video.onabort = () => {
          reject(new Error('视频加载中断'));
          video.remove(); // 销毁video元素
        };
      });
    },
export default videoDurationJudgment

更多详情参数请查看苏宛墨の小破站