<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>Examples</title>
</head>
<body>
<p> <a href="javascript:;" class="playBtn2" style="display: block;width:100px; background: #222;color:#fff; line-height: 40px; text-align: center;margin:14px 0">点击播放</a></p>
<div class="videoBox">
<canvas id="canvas2" width="640" height="1640"></canvas>
<p></p>
<div class="load" id="loadWrap2" style="display: none;">
<div class="loading2"></div>
</div>
</div>
<script type="text/javascript">
var imgArr = [],
source = {},
now2 = 0,
imgNum = 0,
timer = null;
var canvas2 = document.querySelector('#canvas2');
var videoBox = document.querySelector('.videoBox');
var view = {
w: videoBox.offsetWidth,
h: videoBox.offsetHeight
}
canvas2.width = view.w;
canvas2.height = view.h;
var ctx = canvas2.getContext("2d");
ctx.clearRect(0, 0, canvas2.width, canvas2.height);
//添加图片进数组
function pushImgArr(num) {
document.querySelector('#loadWrap2').style.display = 'block';
imgArr = [];
for (var i = 1; i < num; i++) {
imgArr.push('videoImg/' + i + '.jpg');
};
imgLoad();
};
//图片加载
function imgLoad() {
source['src' + now2] = new Image();
source['src' + now2].src = imgArr[now2];
source['src' + now2].onload = function() {
now2++;
if (now2 > imgArr.length - 1) {
//加载成功
document.querySelector('#loadWrap2').style.display = 'none';
//执行canvas渲染
movieInit()
} else {
//递归加载
imgLoad();
};
};
};
//canvas图片渲染
function movieInit() {
clearInterval(timer);
timer = setInterval(function() {
if (imgNum == imgArr.length) {
clearInterval(timer);
} else {
ctx.clearRect(0, 0, canvas2.width, canvas2.height);
ctx.drawImage(source['src' + imgNum], 0, 0, view.w, view.h);
imgNum++;
};
}, 200);
};
//按钮点击开始播放
document.querySelector('.playBtn2').onclick = function() {
pushImgArr(25);
};
</script>
</body>
</html>
canvas实现视频播放
最后编辑于 :
©著作权归作者所有,转载或内容合作请联系作者
- 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
- 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
- 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
推荐阅读更多精彩内容
- 之前写过一个禁止视频快进的实现 有新需求要求只播放视频的前五分钟看了帮助说明,好像也找不到MPMoviePlaye...
- 最近在学习swift,恰巧现在负责的项目中有关于视频播放的一些东西,就想着用swift去实现,视频播放在原OC项目...
- 这篇文章目的是用AVPlayer实现本地视频的播放,和使用AVFoundation获取视频的buffer;在这个获...
- 1.首先什么是HLS格式的视频,大家去谷歌下就知道了。 2.我们知道HLS格式的视频,只有安卓4.0以上才支持,目...