JavaScript如何获取5个视频文件的总时长?

文章介绍了一个JavaScript函数,用于获取单个视频文件的总时长,并利用Promise.all()处理多个视频,当所有视频加载完成后,计算并返回所有视频的总时长。该方法通过监听video元素的loadedmetadata事件来获取视频时长,并在出现错误时进行异常处理。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

// 定义一个函数,用于获取单个视频文件的总时长(单位:分钟)
function getVideoDuration(videoUrl) {
  // 返回一个Promise对象
  return new Promise(function(resolve, reject) {
    // 创建一个video元素
    var video = document.createElement('video');
    // 给video元素设置src属性
    video.src = videoUrl;
    // 给video元素添加loadedmetadata事件监听器
    video.addEventListener('loadedmetadata', function() {
      // 获取视频总时长(单位:秒)
      var duration = video.duration;
      // 将视频总时长转换为分钟数
      duration = duration / 60;
      // 释放资源
      video = null;
      // 调用resolve()方法,将视频总时长作为参数传递进去
      resolve(duration);
    });
    // 给video元素添加error事件监听器
    video.addEventListener('error', function() {
      // 释放资源
      video = null;
      // 调用reject()方法,将错误信息作为参数传递进去
      reject('Failed to load video: ' + videoUrl);
    });
  });
}

// 定义一个数组,包含5个视频文件的URL
var videoUrls = [
  
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值