如何在HTML5画布上自动播放短视频剪辑
How to automatically play a short video clip on HTML5 canvas?
我用画布制作了一个简单的游戏,但我似乎不知道如何在画布中快速播放一次3秒的介绍(在绘制画布之前)。
这就是我的html:
<video id="intro" src="https://www.youtube.com/watch?v=tqErAlg-QJU" controls="false" autoplay></video>
<canvas id="myCanvas" width="800" height="400"
style="border:1px solid #000000;">
</canvas>
这里有一个例子,只需处理播放事件,这样当视频自动播放运行时,画布就会绘制该视频的副本。
document.addEventListener('DOMContentLoaded', function(){
var v = document.getElementById('intro');
var canvas = document.getElementById('myCanvas');
var context = canvas.getContext('2d');
v.addEventListener('play', function(){
draw(this,context,canvas.width,canvas.height);
},false);
},false);
function draw(v,c,w,h) {
if(v.paused || v.ended) return false;
c.drawImage(v,0,0,w,h);
setTimeout(draw,20,v,c,w,h);
}
#intro{
position:absolute;
visibility:hidden
}
<video id="intro" height="200" src="http://www.quirksmode.org/html5/videos/big_buck_bunny.mp4" controls="false" autoplay></video>
<canvas id="myCanvas"
style="border:1px solid #000000;">
</canvas>
我的建议,使用你的youtube视频是:
- 使用youtube api
- 仅参考您的视频ID
- 切换可见性
var player;
function onYouTubeIframeAPIReady() {
player = new YT.Player('player', {
height: '400',
width: '800',
videoId: 'tqErAlg-QJU',
events: {
'onReady': function (e) {
e.target.playVideo();
// pause video after 3 seconds
setTimeout(function() {
player.pauseVideo();
}, 3 * 1000);
},
'onStateChange': function (e) {
// if video ended (0) or paused (2)....
if (e.data == 0 || e.data == 2) {
// remove the player
player.destroy();
// toggle the visibility
$('#myCanvas, #player').toggle();
}
}
}
});
}
$(function () {
$('#myCanvas').hide();
});
<script src="https://code.jquery.com/jquery-1.12.1.min.js"></script>
<script src="https://www.youtube.com/iframe_api"></script>
<div id="player"></div>
<canvas id="myCanvas" width="800" height="400" style="border:1px solid #000000;"></canvas>
相关文章:
- 在移动设备中自动播放视频
- 在一天中的某个时间自动在我的网站上播放视频
- 如何降低html视频的自动播放音量
- 自动播放youtube视频的Javascript
- 如何在HTML5画布上自动播放短视频剪辑
- 在按钮上单击暂停HTML视频(正在自动播放)
- 同时静音自动播放多个YouTube视频
- 视频(自动播放)通过javascript隐藏,但已经在页面加载时启动
- 视频通过javascript被隐藏,但已经开始播放(自动播放模式),即使是's不可见
- bootstrap youtube视频模式自动播放
- 当元素在视口中可见时,自动播放html视频
- 如何在WordPress主页上自动播放YouTube视频
- 解决在手机上自动播放youtube视频的问题
- 为什么iPhone不允许在html元素的背景中自动播放视频
- Jquery 自动播放视频序列不起作用
- 在“显示CSS”属性设置为无后自动播放视频
- 在移动浏览器上自动播放视频元素
- 使用HTML5和javascript在播放器全屏而不是背景全屏中自动播放视频
- 自动播放视频播放列表后45秒的闲置网站与javascript
- 停止自动播放视频