2013-03-19 67 views
1

如何在我的画布动画下在画布上播放视频?如何在我的画布动画下的画布上播放视频?

例如这个片段: http://trailers.apple.com/movies/marvel/ironman3/ironman3-tlr2_h480p.mov

所以沿着视频底部这部动画动作。

代码:

<html> 
     <head> 
<script type='text/javascript' src='http://code.jquery.com/jquery-1.8.3.js'></script> 
     <script type="text/javascript"> 
      var context; 
      var text = ""; 
      var textDirection =""; 

      $(function() 
      { 
       context = document.getElementById("cvs").getContext("2d");    
       setInterval("animate()", 360); 

       textDirection ="right"; 
       textXpos = 5; 
       text = "This is my video..";  
      }); 

      function animate() {    
       // Clear screen 
       context.clearRect(0, 0, 500, 500); 
       context.globalAlpha = 1; 
       context.fillStyle = '#fff'; 
       context.fillRect(0, 0, 500, 500);  

       var metrics = context.measureText(text); 
       var textWidth = metrics.width; 

       if (textDirection == "right") { 
        textXpos += 10; 

        if (textXpos > 500 - textWidth) { 
         textDirection = "left"; 
        } 
       } 
       else { 
        textXpos -= 10; 

        if (textXpos < 10) { 
         textDirection = "right"; 
        }      
       } 

       context.font = '20px _sans'; 
       context.fillStyle = 'black'; 
       context.textBaseline = 'top'; 
       context.fillText (text, textXpos, 180);  
       }  
       </script> 
      </head> 
      <body> 
      <div id="page"> 
       <canvas id="cvs" width="500" height="500"> 
        Your browser does not support the HTML 5 Canvas. 
       </canvas> 
      </div> 
      </body> 
     </html> 

回答

1

我不认为你需要在画布上播放视频。只需在您的HTML中创建一个视频元素,并使用CSS将您的canvas元素放在它上面。

HTML:

<div id="page"> 
    <video id="video" autoplay loop> 
    <source id='mp4' 
    src="http://media.w3.org/2010/05/sintel/trailer.mp4" 
    type='video/mp4'> 
    <source id='webm' 
    src="http://media.w3.org/2010/05/sintel/trailer.webm" 
    type='video/webm'> 
    <source id='ogv' 
    src="http://media.w3.org/2010/05/sintel/trailer.ogv" 
    type='video/ogg'> 
    <p>Your user agent does not support the HTML5 Video element.</p> 
    </video> 
    <canvas id="cvs" width="500" height="500"> 
    Your browser does not support the HTML 5 Canvas. 
    </canvas> 
</div> 

CSS:

#cvs { 
    position: absolute; 
    top: 0px; 
    left: 0px; 
} 

Fiddle

+0

这不会显示视频顶部的文字。它将视频向右移动并在创建的空间中执行动画。 http://jsfiddle.net/bS79G/195/ – user2186669 2013-03-19 14:27:32

+0

对不起,忘了点击保存。立即试用:http://jsfiddle.net/jBHCN/1/ – 2013-03-19 14:28:31