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中在元素或者选取的文本被拖动时触发的事件ondrag

android使webview支持html5 video全屏播放的方法分享(图)

html5中必须知道的十件事

html5 video 实现浏览器兼容的方法

html5中设置或返回音频/视频是否应该被静音的属性muted

iis的mime未注册mp4类型,导致无法识别vidoe标签的解决办法

html5文件异步上传功能的实现

html5标签选择方法指引

html5桌面通知提示功能的实现

关于html5 video基础知识总结

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




打赏

取消

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

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

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

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

评论

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