首页 web前端 前端问答 H5中video获取第一帧如何作为封面

H5中video获取第一帧如何作为封面

Apr 14, 2021 am 11:01 AM
h5 video

本篇文章给大家详细介绍一下H5中video获取第一帧作为封面的方法。有一定的参考价值,有需要的朋友可以参考一下,希望对大家有所帮助。

H5中video获取第一帧如何作为封面

1.引入库

代码如下(示例):

<script src="https://cdn.bootcdn.net/ajax/libs/jquery/1.10.0/jquery.min.js"></script>
登录后复制

2.HTML部分

<p class="upload-title mg-b10 title-all">上传视频(必填)</p>
  <p class="file-input-trigger" onclick="document.getElementById(&#39;uploadBtn&#39;).click()">
     <p class="upload-icon">+</p>
     <p class="upload-text">上传文件</p>
   </p>
   <input type="file" class="upload-video" id="uploadBtn">
 </p>
登录后复制

展示效果如下图,样式的话,自己写哈,我比较懒,哈哈哈哈

在这里插入图片描述

<video src="" onloadeddata=&#39;vSetImg(this)&#39; autoplay>
</video>
<img src="" class="video-img" alt="">
登录后复制

上面这部分代码是展示图片,效果如下,图片显示正常

在这里插入图片描述

3.JS部分

let result$(&#39;#uploadBtn&#39;).on(&#39;change&#39;, function (e) {
    const file = e.target.files    // console.log(file)
    let fr = new FileReader()
    fr.readAsDataURL(file[0]) //将文件读取为tata Url
    fr.onload = function (e) {
        result = e.target.result        // 视屏上传
        if (/video/g.test(file[0].type)) {
            $(&#39;.upload-img&#39;).show()
            $(&#39;.upload-img video&#39;).attr(&#39;src&#39;, result)
            $(&#39;.upload-file&#39;).hide()
         }
     }})function vSetImg(obj) {
     $(obj).removeAttr("poster");
     var vimg = $("<img/>")[0];
     captureImage(obj, vimg);
     $(obj).attr("poster", $(vimg).attr("src"));
     //展示获取的第一帧图片
     $(".upload-img img").attr("src", $(vimg).attr("src"));
     $(&#39;.upload-img video&#39;).hide()
     $(&#39;.upload-img img&#39;).show()}function captureImage(video, output) {
     const scale = 0.8
     try {
         var videocanvas = $("<canvas/>")[0];
         videocanvas.width = video.videoWidth * scale;
         videocanvas.height = video.videoHeight * scale;
         videocanvas.getContext(&#39;2d&#39;).drawImage(video, 0, 0, videocanvas.width, videocanvas.height);
         output.src = videocanvas.toDataURL("image/png");
         delete videocanvas;
     } catch (e) {
         output.src = "加载动画.gif";
     }}
登录后复制

其中video标签上的属性autoplay是必要的,不然可能会图片显示不出来,这是我实验几次发现的。我是使用了jquery,为了操作元素方便,当然用原生的也可以。

推荐学习:html视频教程

以上是H5中video获取第一帧如何作为封面的详细内容。更多信息请关注PHP中文网其他相关文章!

本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn

热AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover

AI Clothes Remover

用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool

Undress AI Tool

免费脱衣服图片

Clothoff.io

Clothoff.io

AI脱衣机

AI Hentai Generator

AI Hentai Generator

免费生成ai无尽的。

热门文章

R.E.P.O.能量晶体解释及其做什么(黄色晶体)
3 周前 By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O.最佳图形设置
3 周前 By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O.如果您听不到任何人,如何修复音频
3 周前 By 尊渡假赌尊渡假赌尊渡假赌
WWE 2K25:如何解锁Myrise中的所有内容
4 周前 By 尊渡假赌尊渡假赌尊渡假赌

热工具

记事本++7.3.1

记事本++7.3.1

好用且免费的代码编辑器

SublimeText3汉化版

SublimeText3汉化版

中文版,非常好用

禅工作室 13.0.1

禅工作室 13.0.1

功能强大的PHP集成开发环境

Dreamweaver CS6

Dreamweaver CS6

视觉化网页开发工具

SublimeText3 Mac版

SublimeText3 Mac版

神级代码编辑软件(SublimeText3)

如何在 Windows 11 中修复 VIDEO DXGKRNL 致命错误 如何在 Windows 11 中修复 VIDEO DXGKRNL 致命错误 Apr 13, 2023 pm 08:22 PM

点击进入:ChatGPT工具插件导航大全一些用户抱怨他们的计算机经常崩溃,停止代码为VIDEO DXGKRNL FATAL ERROR。此特定问题仅偶尔发生,并且错误检查值为 0x00000113,这表明 Microsoft DirectX 图形内核子系统中存在违规,如错误检查值所示。通常,当损坏的驱动程序干扰图形卡图形处理器的正常运行时,就会出现错误。如果您目前正在努力解决此特定问题,我们的文章将为您提供各种高质量的故障排除技巧。您会在下面找到遇到完全相同错误的其他用户已成功使用的各种方法。是

h5是指什么 h5是指什么 Aug 02, 2023 pm 01:52 PM

H5是指HTML5,是HTML的最新版本,H5是一个功能强大的标记语言,为开发者提供了更多的选择和创造空间,它的出现推动了Web技术的发展,使得网页的交互和效果更加出色,随着H5技术的逐渐成熟和普及,相信它将会在互联网的世界中发挥越来越重要的作用。

摩托罗拉 Razr 50 Ultra 出现在泄露的预告视频中,配有防水外壳和巨大的副显示屏 摩托罗拉 Razr 50 Ultra 出现在泄露的预告视频中,配有防水外壳和巨大的副显示屏 Jun 20, 2024 pm 09:31 PM

过去几周,摩托罗拉 Razr 50 和 Razr 50 Ultra 最重要的规格和欧元价格已经泄露。现在,极其可靠的泄密者 @MysteryLupin 能够发布下面嵌入的预告视频,其中

在 Vivobook S15 基准测试中,Snapdragon X Elite CPU 的电池性能和插入性能几乎相同 在 Vivobook S15 基准测试中,Snapdragon X Elite CPU 的电池性能和插入性能几乎相同 Jun 20, 2024 pm 03:59 PM

尽管围绕高通 Snapdragon X Elite 进行了大肆宣传,但它的发布却相当平庸。在我们的评测中,我们发现搭载 Qualcomm Snapdragon X Elite X1E-78-100 的华硕 Vivobook S 15 最令人印象深刻的部分是无缝连接

如何区分H5,WEB前端,大前端,WEB全栈? 如何区分H5,WEB前端,大前端,WEB全栈? Aug 03, 2022 pm 04:00 PM

本文带你快速区分H5、WEB前端、大前端、WEB全栈,希望对需要的朋友有所帮助!

深入了解HTML中的video元素 深入了解HTML中的video元素 Feb 24, 2024 pm 08:18 PM

HTML中video视频标签详解HTML5中的video标签是一种用于在网页上播放视频的标签。它可以使用不同的格式来呈现视频,例如MP4、WebM、Ogg等等。在本篇文章中,我们将详细介绍video标签的使用方法,并提供具体的代码示例。基本结构下面是video标签的基本结构:

Pixel 9 Pro XL 与 iPhone 15 Pro Max 相机比较显示谷歌在视频和变焦性能方面取得了令人惊讶的胜利 Pixel 9 Pro XL 与 iPhone 15 Pro Max 相机比较显示谷歌在视频和变焦性能方面取得了令人惊讶的胜利 Aug 24, 2024 pm 12:32 PM

谷歌 Pixel 9 Pro 和 Pro XL 是谷歌对三星 Galaxy S24 Ultra 和苹果 iPhone 15 Pro 和 Pro Max 等产品的回应。 YouTube 上的 Daniel Sin(请观看下文)将 Google Pixel 9 Pro XL 与 iPhone 15 Pro Max 进行了一些比较

在 Vivobook S15 基准测试中,Snapdragon X Elite CPU 的电池性能与交流电源性能几乎相同 在 Vivobook S15 基准测试中,Snapdragon X Elite CPU 的电池性能与交流电源性能几乎相同 Jun 21, 2024 am 06:50 AM

尽管围绕高通 Snapdragon X Elite 进行了大肆宣传,但它的发布却相当平庸。在我们的评测中,我们发现搭载 Qualcomm Snapdragon X Elite X1E-78-100 的华硕 Vivobook S 15 最令人印象深刻的部分是无缝连接

See all articles