Javascript 捕获一帧视频
我试图捕获视频的一帧,但我总是遇到以下异常: (索引):57未捕获类型错误:无法在上执行“toBlob” “HTMLCanvasElement”:需要1个参数,但只存在0个。 在getFrame((索引):57) 在HTMLSpanElement.onclick((索引):70) 以下是html代码:Javascript 捕获一帧视频,javascript,html,Javascript,Html,我试图捕获视频的一帧,但我总是遇到以下异常: (索引):57未捕获类型错误:无法在上执行“toBlob” “HTMLCanvasElement”:需要1个参数,但只存在0个。 在getFrame((索引):57) 在HTMLSpanElement.onclick((索引):70) 以下是html代码: <content> <div class="out"> <div class="video-box">
<content>
<div class="out">
<div class="video-box">
<span class="button create-frame" onclick=getFrame()>Get Frame</span>
<video id="test" class="video" width="480" height="360" controls="true">
<source src="movie.mp4" type="video/mp4">
</video>
<div class="frame-box ">
<canvas id="canvas" class="canvas hidden" width="480" height="360"></canvas>
<ul class="frames">
</ul>
</div>
</content>
感谢您的帮助您的语法错误
canvas.toBlob() = (blob) => {
img.src = window.URL.createObjectUrl(blob);
};
实际上,您正在尝试将函数引用分配给返回值toBlob()
(这是一个错误)
相反,您需要将函数引用作为toBlob()的第一个参数传递:
谢谢你的快速回答,但现在我得到了这个错误(索引):58 Uncaught TypeError:window.URL.createObjectUrl不是(索引)处的函数:58createObjectURL,并且它在赋值给undefined之前出错,toBlob至少需要一个参数…这使我的答案有效。正如@kaido所指出的,这一新问题是您的错别字。
canvas.toBlob() = (blob) => {
img.src = window.URL.createObjectUrl(blob);
};
canvas.toBlob(blob => {
img.src = window.URL.createObjectUrl(blob);
});