У меня есть две функции:
async takeScreenShot() {
this.pauseVideo();
if (this.animations.length && !this.ended) {
this.pauseLotties()
}
this.captures.push(this.canvas.toDataURL('image/webp'));
if (!this.ended) {
setTimeout(() => {
this.takeScreenShot();
}, 500);
}
},
async pauseVideo() {
console.log("currentTime", this.video.currentTime);
console.log("duration", this.video.duration);
this.video.pause();
const oneFrame = 1 / 30;
if (this.video.currentTime + oneFrame < this.video.duration) {
this.video.currentTime += oneFrame;
} else {
this.video.play()
}
}
Прямо сейчас я использую setTimeout
, чтобы делать снимок экрана своего холста каждые 500 миллисекунд. Но я хотел бы сделать снимок экрана, используя событие seek с обещанием сообщить мне, когда он закончит поиск, чтобы я мог сделать снимок экрана. Таким образом, он должен копировать видео более эффективно и, возможно, быстрее. Как мне go это сделать?