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


当前第2页 返回上一页

3.JS部分

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

let result$('#uploadBtn').on('change', 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)) {

            $('.upload-img').show()

            $('.upload-img video').attr('src', result)

            $('.upload-file').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"));

     $('.upload-img video').hide()

     $('.upload-img img').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('2d').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获取第一帧如何作为封面的详细内容,更多文章请关注木庄网络博客

返回前面的内容

相关阅读 >>

html5视频播放的详细介绍

video屏蔽下载功能

了解一下html5中新增加的标签

后盾网html5视频教程

h5实现文本框提示语的代码实例

html5的学习路线分析

什么是html h1标签?html h1标签使用方法的详细介绍

微信html5页面如何调用第三方位置导航

html5制作查询页面实例

h5应用缓存-manifest的具体介绍

更多相关阅读请进入《h5》频道 >>




打赏

取消

感谢您的支持,我会继续努力的!

扫码支持
扫码打赏,您说多少就多少

打开支付宝扫一扫,即可进行扫码打赏哦

分享从这里开始,精彩与您同在

评论

管理员已关闭评论功能...