html5的video自动播放视频(静音),canvas绘制视频案例代码

37 篇文章 1 订阅
23 篇文章 0 订阅

一、HTML5 canvas drawImage() 方法

浏览器支持

Internet Explorer 9、Firefox、Opera、Chrome 以及 Safari 支持 drawImage() 方法。

注释:Internet Explorer 8 或更早的浏览器不支持 <canvas> 元素。

定义和用法

drawImage() 方法在画布上绘制图像、画布或视频。

drawImage() 方法也能够绘制图像的某些部分,以及/或者增加或减少图像的尺寸。

JavaScript 语法 1

在画布上定位图像:

context.drawImage(img,x,y);

JavaScript 语法 2

在画布上定位图像,并规定图像的宽度和高度:

context.drawImage(img,x,y,width,height);

JavaScript 语法 3

剪切图像,并在画布上定位被剪切的部分:

context.drawImage(img,sx,sy,swidth,sheight,x,y,width,height);

参数值

参数描述
img规定要使用的图像、画布或视频。
sx可选。开始剪切的 x 坐标位置。
sy可选。开始剪切的 y 坐标位置。
swidth可选。被剪切图像的宽度。
sheight可选。被剪切图像的高度。
x在画布上放置图像的 x 坐标位置。
y在画布上放置图像的 y 坐标位置。
width可选。要使用的图像的宽度。(伸展或缩小图像)
height可选。要使用的图像的高度。(伸展或缩小图像)

二、绘制视频案例:

<!DOCTYPE html>
<html>
<head>
    <meta charset="UTF-8">
    <title>HTML5-Video播放视频,canvas绘制视频</title>
</head>
<body>
<p>左侧为HTML5-video标签播放的视频,右侧为canvas绘制的视频</p>

<video id="myvideo" controls width="270" autoplay="autoplay" muted>
    <source src="m1.mp4" type='video/mp4'>
</video>

<canvas id="myCanvas" width="270" height="135" style="border:1px solid #d3d3d3;">
    Your browser does not support the HTML5 canvas tag.
</canvas>
<script>
    var v = document.getElementById("myvideo");
    var c = document.getElementById("myCanvas");
    ctx = c.getContext('2d');
    // 每 20 毫秒,代码就会绘制视频的当前帧
    v.addEventListener('play', function () {//播放
        var i = window.setInterval(function () {
            ctx.drawImage(v, 0, 0, 270, 135);
        }, 20);
    }, false);
    v.addEventListener('pause', function () {//暂停
        window.clearInterval(i);
    }, false);
    v.addEventListener('ended', function () {//结束
        clearInterval(i);
    }, false);

</script>
</body>
</html>

谷歌浏览器 效果图:

 注意:要想视频自动播放需要加 autoplay="autoplay" 和 muted (但视频是静音的)

  • 0
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值