Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/video/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/solr/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Canvas 画布视频浏览器_Canvas_Video_Uc Browser - Fatal编程技术网

Canvas 画布视频浏览器

Canvas 画布视频浏览器,canvas,video,uc-browser,Canvas,Video,Uc Browser,我正在寻找一种在UC浏览器(手机)和三星互联网浏览器中的canvas/webgl元素中播放视频的方法。我的帆布游戏需要它 下一个代码不起作用: var画布,上下文; var video=document.getElementById(“视频”); canvas=document.getElementById(“canvas”); context=canvas.getContext(“2d”); canvas.addEventListener(“单击”,鼠标单击); 功能鼠标单击(e){ vid

我正在寻找一种在UC浏览器(手机)和三星互联网浏览器中的canvas/webgl元素中播放视频的方法。我的帆布游戏需要它

下一个代码不起作用:

var画布,上下文;
var video=document.getElementById(“视频”);
canvas=document.getElementById(“canvas”);
context=canvas.getContext(“2d”);
canvas.addEventListener(“单击”,鼠标单击);
功能鼠标单击(e){
video.src=”https://www.sample-videos.com/video/mp4/720/big_buck_bunny_720p_2mb.mp4";
video.addEventListener('loadeddata',function(){
video.play();
draw();
});
}
函数绘图(){
drawImage(视频,0,0,500,300);
设置超时(抽签,50);
}

我在这里试用了您的代码:

此处演示:

但我无法复制三星互联网v7.2的问题。(在短暂的加载延迟后)它对我来说是正常的,并且也会渲染到画布上

“图像序列太大。”

你的意思是视频在画布中缩放不正确吗?如果是,您是否尝试过调整画布大小和传递给
drawImage
方法的尺寸?(目前您正在以500px的宽度和300px的高度绘制,但视频的纵横比为16:9)


注意。出于性能原因,我建议使用
requestAnimationFrame
而不是硬编码50ms延时:

没有尝试,但移动浏览器通常不会预加载视频中的任何内容。因此,您的已加载元数据可能永远不会触发。您可能希望将您的
video.play()
移出此事件处理程序(但仍在单击事件处理程序中)。忘记提及声音播放,但画布中的视频是blackDemo在我的Samsung Internet v 7.2中仍然不起作用。。。图像序列是指将视频导出为jpeg序列。是否要创建一系列jpeg图像?您上面发布的代码不包含任何这样做的内容-它只是将视频绘制到画布上。