首页 > 解决方案 > 来自非活动选项卡中视频元素的 CanvasRenderingContext2D drawImage

问题描述

CanvasRenderingContext2D当标签被浏览器挂起时(如果用户关注不同的标签),Chrome 似乎在视频元素中存在错误和 drawImage。

当标签处于后台时,像这样的代码不再工作,音频继续播放,视频的时号事件像往常一样被触发,但drawImage在每个刻度上都绘制相同的帧:

const video = document.getElementById('video');
const canvas = document.createElement('canvas');
const ctx = canvas.getContext('2d');

...

setInterval(() => ctx.drawImage(videoElement, 0, 0), 33);

此问题与计时器限制无关(使用来自后台工作人员的计时器事件进行测试,以相同的时间间隔在画布上绘制当前时间等)。

有谁知道为什么会发生这种情况以及如何防止 Chrome 暂停视频元素?

标签: javascriptgoogle-chromehtml5-canvassetinterval

解决方案


推荐阅读