我查了很久,觉得有必要在这里问一下。我之前使用的 npm 包什么也没做。有人曾经做过或经历过这样的应用吗?我想做的就是在画布元素上绘图时将其录制为视频。提前致谢。
是的,您可以使用MediaStream、captureStream和MediaRecorder
下面是一个示例,其中在画布上绘制一些彩色方块,然后使用录制内容创建视频:
const canvas = document.querySelector('canvas');
const ctx = canvas.getContext('2d');
const stream = canvas.captureStream();
const recorder = new MediaRecorder(stream, { mimeType: 'video/webm' });
const video = document.querySelector('video');
ctx.fillStyle = 'red';
ctx.fillRect(100, 100, 50, 50);
setTimeout(() => {
ctx.fillStyle = 'blue';
ctx.fillRect(200, 50, 50, 50);
}, 1000);
recorder.start();
setTimeout(() => recorder.stop(), 2000);
recorder.addEventListener('dataavailable', (evt) => {
const url = URL.createObjectURL(evt.data);
video.src = url;
});Run Code Online (Sandbox Code Playgroud)
<canvas></canvas>
<video controls></video>Run Code Online (Sandbox Code Playgroud)
但基本上一旦你有了录音 URL,你就可以用它做任何事情,包括创建下载链接、自动下载录音等。
| 归档时间: |
|
| 查看次数: |
1911 次 |
| 最近记录: |