0
我正在嘗試將視頻添加到Fabric.js,我完成了。如何停止/取消Fabric.js中的requestAnimFrame()
但有一個問題:
如何停止或取消requestAnimFrame()
?
實施例:
var canvas = new fabric.Canvas('c');
var videoEl = document.getElementById('video');
var video = new fabric.Image(videoEl);
canvas.add(video);
video.getElement().play();
fabric.util.requestAnimFrame(function render() {
canvas.renderAll();
fabric.util.requestAnimFrame(render);
var current_time = videoEl.currentTime;
if(current_time >= 5) {
videoEl.pause();
console.log(current_time);
}
});
https://jsfiddle.net/l2aelba/kro7h6rv/
這是後5秒的視頻將停止。我將停止/取消requestAnimFrame
導致高CPU負載
包裝你'requestAnimFrame'通話在'if(flag)'('render'裏面的那個'',因爲第一個將會把它的執行推到th e下一幀,如果你想立即執行'render',那麼它並不是真的需要。) – Kaiido