js获取本地视频时间长度

  • js如何获取file控件中选择的视频文件的时长,播放时间长度,不需要通过服务器。


人到中年有点甜
浏览 5106回答 1
1回答

开满天机

&nbsp;<style>#v{width:400px;height:300px}</style> <video&nbsp;id="v"&nbsp;controls></video><br&nbsp;/> <input&nbsp;type="file"&nbsp;onchange="setVideoSrc(this)"&nbsp;/> <script> &nbsp;&nbsp;&nbsp;&nbsp;function&nbsp;getDuration()&nbsp;{ &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if&nbsp;(!isNaN(v.duration))&nbsp;{ &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;clearInterval(timer); &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;alert(v.duration) &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;} &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;else&nbsp;{ &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;tryTime++; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;//超过获取视频长度最大重试次数 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if&nbsp;(tryTime&nbsp;>=&nbsp;maxTry)&nbsp;{&nbsp;clearInterval(timer);&nbsp;alert('无法获取视频长度!');} &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;} &nbsp;&nbsp;&nbsp;&nbsp;} &nbsp;&nbsp;&nbsp;&nbsp;var&nbsp;timer,tryTime,maxTry=5,delay=500; &nbsp;&nbsp;&nbsp;&nbsp;function&nbsp;setVideoSrc(f)&nbsp;{ &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;clearInterval(timer); &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;var&nbsp;url&nbsp;=&nbsp;URL.createObjectURL(f.files[0]); &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;v.src&nbsp;=&nbsp;url; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;tryTime&nbsp;=&nbsp;0; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;timer&nbsp;=&nbsp;setInterval(getDuration,&nbsp;delay);//直接获取不到duration,会NaN,计时器来获取 &nbsp;&nbsp;&nbsp;&nbsp;} </script>
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

JavaScript