jquery 上传前如何获得html文件输入的视频分辨率?

pftdvrlh  于 2023-01-04  发布在  jQuery
关注(0)|答案(1)|浏览(170)

当我在HTML文件输入中选择一个视频文件时,我想获得视频分辨率(宽度和高度)和所有元数据(大小、长度、文件类型等,如果可能的话)。我需要一个js或jquery解决方案。我找不到任何与此主题相关的内容。请帮助我解决这个问题。提前感谢。

yfjy0ee7

yfjy0ee71#

我找到了一种方法。我希望这对某人有用。
当一个视频文件添加到file input时,我们创建一个新的video元素,并将文件加载到videosrc属性中,然后向video标签的loadedmetadata事件添加一个事件侦听器,这样我们就可以得到视频的高度和宽度。

<input type="file" class="file_multi_video" />

<script>
    $(document).on("change", ".file_multi_video", function(evt) {
       const video = document.createElement('video')
       video.addEventListener('loadedmetadata', event => {
           console.log(video.videoWidth, video.videoHeight)
       });
       video.src = URL.createObjectURL(this.files[0]);
    });
</script>

相关问题