我想在 React 的画布上录制视频

2023-12-02

我查了很久,觉得有必要在这里问一下。我之前使用的 npm 包什么也没做。有人曾经做过或经历过这样的应用吗?我想做的就是在画布元素上绘图时将其录制为视频。提前致谢。


是的,您可以使用媒体流, 捕获流 and 媒体记录器为了那个原因

下面是一个示例,其中在画布上绘制一些彩色方块,然后使用录制内容创建视频:

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;
});
<canvas></canvas>
<video controls></video>

但基本上一旦你有了录音 URL,你就可以用它做任何事情,包括创建下载链接、自动下载录音等。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

我想在 React 的画布上录制视频 的相关文章

随机推荐