现在有一个要求,就是上传记录文件来检查录音的长度,超过一定的限制对前端施加限制,看到很多解决方案,其中大多数是隐藏音频标签并播放以获取它。感觉有点麻烦,结合在线方案,编写了一种获取上传音频和视频文件长度的方法,具体代码是
<强>,因为手头视频资源有限,只能测试MP4、音频MP3、WAV。感兴趣的朋友可以测试别的资源
<;!doCTYPE html>;html lang=“en”>;head>;>;meta charset=“utf-8”>;<;title>;Title<;/title>;<;/head>;<;body>;<;input type=“file”id=‘Upload’>;<;按钮点击‘getTimes()’>;获取时长<;/获取时长>;>;>;/body>;script>;function getTimes(){var obj_file=document.getElementById(“Upload”);var Content=obj_file。文件[0]控制台日志(内容)//获取录音时长var url=url.createObjectURL(内容);//经测试,发现音频也可获取视频的时长var AudioElement=新音频(Url);var持续时间;);}<;/script>;<;/html>;
对上述代码的简要描述:
1.**URL.createObjectURL()**静态方法创建一个DOMString
,其中包含一个表示参数中给定对象的URL。该URL的生命周期以及创建该URL的窗口中的文档
绑定。这个新的url对象表示指定的File
对象或blob/code>
对象。(个人感觉是,您可以将对象转换为url,这是非常灵活和方便的,特别是对于文件对象)。
2.当加载指定的音频/视频元数据时会发生loaded元数据。音频/视频元数据包括时间长度、大小(仅限视频)和文本轨道。