上传时获取video视频时长

本来开心的划水摸鱼,然后一个后端的卧龙过来跟我说上传需要把视频时长传递他,我当时第一反应就是你能获取吗? 然后就被告知不好获取,好吧那就只能自己写咯,整体就是在页面中创建一个video 的dom 节点,然后把上传完成的视频后端给的地址赋值给这个节点,在使用loadedmetadata这个方法在视频加载完成后获取video属性中的duration属性拿到时长,单位是秒

开始的我傻傻的写了load方法结果监听不到视频加载完成 干了,还好有百度,当然也是可以吧视频文件转成临时路径 用URL.createObjectURL() 转成临时文件路径 如果不需熟悉可以MDN:URL.createObjectURL() - Web API 接口参考 | MDN

const videoTime = ref(null);
const getVideoDuration = url => {
  let videoElement = document.createElement('video');
  console.log(videoElement);
  videoElement.src = url;
  videoElement.addEventListener('loadedmetadata', function () {
    // 视频时长值的获取要等到这个匿名函数执行完毕才产生
    videoTime.value = videoElement.duration; //得到时长为秒,小数,182.36
  });
};

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值