获取video info 原理

graph LR START((开始)) --> 创建video标签 创建video标签 --> file文件转b64 file文件转b64 --> video加载b64 video加载b64 --> 输出video信息 输出video信息 --> 析构b64释放内存 析构b64释放内存 --> END((结束))

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
const loadVideo = (file: File) =>
  new Promise<HTMLVideoElement>((resolve, reject) => {
    const videoElem = document.createElement('video');
    const dataUrl = URL.createObjectURL(file);
    videoElem.onloadeddata = function () {
      resolve(videoElem);
      URL.revokeObjectURL(dataUrl);
    };

    videoElem.onerror = function () {
      reject('video 后台加载失败');
    };
    videoElem.src = dataUrl;
  });