以下是程式码:
<video id="movie" preload autoplay loop style="display: none;">
<source src='example.mp4' type='video/mp4' />
</video>
<canvas id="myCanvas" style="display: none;">
Your browser does not support the HTML5 canvas tag.
</canvas>
<div id="img" class="img" style="width: 100px; height: 100px;"></div>
<script>
var v=document.getElementById("movie");
var c=document.getElementById("myCanvas");
var a=document.getElementById("img");
var ctx=c.getContext('2d');
var i;
i=window.setInterval(function() {
ctx.drawImage(v,0,0,90,90);
var img_tag = new Image();
var img = c.toDataURL();
img_tag.onload = function() {
a.style.backgroundImage="url("+img+")";
}
img_tag.src = img;
},20);
</script>
我想将<video>目前的影像用每20毫秒一次的方式投射在<div id="img">上,
并使用background-image将图呈现出来。
这在Chrome虽然不会有任何问题,
不过在Firefox及Safari,甚至是IE,其background-image会一直不规律地闪烁,
请问该如何解决这问题?
谢谢
注:此HTML必须上传至Server。此外,该影片必须来自同一个Server上。