0

我正在尝试从画布录制视频,即使用户从选项卡导航(通过单击另一个选项卡或最小化窗口)。我正在使用一个计时器,即使用户使选项卡模糊以呈现画布,该计时器也会运行(我知道该计时器会在选项卡模糊时触发,因为我已经对其进行了测试)。但是当我将MediaStreamfrom附加canvas.captureStream()MediaRecorder对象时,BlobEventfromondataavailable回调的长度为 0。

下面是我正在尝试做的一个例子。

let canvas = document.getElementById('canvas');

// ...Assume that I'm rendering some kind of video/animation to the canvas here...

let stream = canvas.captureStream();

let mediaRecorder = new MediaRecorder(stream, { mimeType: 'video/webm; codecs="opus,vp8"' });
mediaRecorder.start();

mediaRecorder.ondataavailable = (event) => {
  // This event's data is length 0 when the tab is blurred
  console.log(event);
}

我知道ondataavailable通常不会在标签背景下触发,我通过使用该requestData功能来获得它MediaRecorder,请假设它确实如此。

4

0 回答 0