Estoy tratando de limitar la reproducción de video dentro del rango de número que especificó el usuario.
El usuario especificó un marco inicial y un marco final como este.
frameInputEnd: 300 frameInputStart: 50vuelvo a calcular esas entradas en segundos como este
this.startDuration = (((1000 / this.fpsCount) * this.rangeFrame.frameInputStart) / 1000).toFixed(2); this.endDuration = ((1000 / this.fpsCount) * this.rangeFrame.frameInputEnd) / 1000; y establezca currentTime = this.startDuration . De esa manera, el usuario puede hacer que la duración comience en el cuadro que ha especificado. Quiero agregar un evento en el que el video haya alcanzado el frameInputEnd currentTime es lo que hice
this.videoPlayer.nativeElement.ontimeupdate = (e: any) => { this.whatFps = `${Math.ceil(e.target.currentTime * this.fpsCount)} / ${this.totalFrame}`; if(this.videoPlayer.nativeElement.currentTime.toFixed(2) == Number(this.endDuration).toFixed(2)){ this.pause() } } agrego .toFixed(2) ya que frameInputEnd es igual a 12.50 segundos. pero el currentTime nunca coincide con 12.50 segundos, ya sea 12.51 o 12.52, el video nunca se detuvo automáticamente.
¿Alguien sabe una forma de bateador para lograr esto?
intenta usar >= en lugar de ==