vue获取ts、avi等视频格式时长

问题遇到的现象和发生背景

Vue获取视频文件的时长

用代码块功能插入代码,请勿粘贴截图

网上搜索出来的结果大多是这个使用 new Audio() 返回HTMLAudioElement ,再获取其时长。

我的解答思路和尝试过的方法
getVideoDuration(file) {  // 获取视频时长
      console.log(file,'获取视频时长');
      return new Promise((resolve) => {
        var url = URL.createObjectURL(file);
        var audioElement = new Audio(url);
        var self = this;
        var result;
        audioElement.addEventListener("loadedmetadata", function() {
          // 视频时长值的获取要等到这个匿名函数执行完毕才产生
          result = audioElement.duration; //得到时长为秒,小数,182.36
          self.videoDuration = Math.floor(result/60);
          console.log(self.videoDuration + " minutes " )
          resolve(self.videoDuration)
        });
      })
    },
我想要达到的结果

使用这个方法确实能实现,但是只能获取到mp4格式的视频长度。avi、ts等其他格式获取不到