Fork me on GitHub

JS-获取视频总时长

介绍

本文主要介绍在获取到视频的URL之后,如何通过js方法获取视频的总时长,兼容了web页面、APP内嵌h5页面、小程序内嵌h5页面~

适用场景:

web页面、APP内嵌h5页面、小程序内嵌h5页面

JS代码:

一、获取视频时长方法

注:其中getENVIR、checkIfIOS方法见链接:https://timor419.github.io/2021/11/25/JS-getEnvironment/

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
getVideoDuration(url) {
// IOS的微信小程序中无法触发onloadedmetadata
if (this.getENVIR() === 'wxapp' && this.checkIfIOS()) {
return new Promise((reslove) => {
let audio = new Audio(url);
audio.muted = true;
audio.play().then(() => audio.pause());
audio.addEventListener('loadedmetadata', function() {
reslove(parseInt((audio.duration * 1000).toString(), 10));
});
audio.muted = false;
});
}
return new Promise((reslove) => {
let video = document.createElement('video');
video.preload = 'metadata';
video.src = url;
video.onloadedmetadata = () => {
reslove(parseInt((video.duration * 1000).toString(), 10));
video = null;
};
});
},

二、调用方法

1
2
const duration = this.getVideoDuration('https://cdn.webuy.ai/static/lib/resource/2021/11/25/1637813076906_4250.mp4');
console.log('视频总时长:', duration);
------------- The End -------------

本文标题:JS-获取视频总时长

文章作者:White

发布时间:2021年11月25日 - 10:11

最后更新:2022年01月02日 - 21:01

原始链接:http://yoursite.com/2021/11/25/JS-getVideoDuration/

许可协议: 署名-非商业性使用-禁止演绎 4.0 国际 转载请保留原文链接及作者。