js如何獲取file控件中選擇的視頻文件的時長,播放時間長度,不需要通過服務器。
js獲取本地視頻時間長度
人到中年有點甜
2018-07-18 13:26:51
TA貢獻1786條經驗 獲得超13個贊
<style>#v{width:400px;height:300px}</style>
<video id="v" controls></video><br />
<input type="file" onchange="setVideoSrc(this)" />
<script>
function getDuration() {
if (!isNaN(v.duration)) {
clearInterval(timer);
alert(v.duration)
}
else {
tryTime++;
//超過獲取視頻長度最大重試次數
if (tryTime >= maxTry) { clearInterval(timer); alert('無法獲取視頻長度!');}
}
}
var timer,tryTime,maxTry=5,delay=500;
function setVideoSrc(f) {
clearInterval(timer);
var url = URL.createObjectURL(f.files[0]);
v.src = url;
tryTime = 0;
timer = setInterval(getDuration, delay);//直接獲取不到duration,會NaN,計時器來獲取
}
</script>舉報