Business
Jobs
  • About Us
  • Solutions
    • Job Postings
      Post your job and receive qualified candidates in 48h.
    • Candidate Assessments
      500+ technical and psychological tests, plus anti-fraud.
    • Headhunting
      Tailor-made executive search from start to finish.
    • Payroll + EOR
      Payroll dispersal and EOR across 15+ LATAM countries.
  • Pricing
  • Jobs

0

310
Views
Video HTML5, ¿cómo muestro el último cuadro de video cuando busco finalizar?

Cuando llamo manualmente:

 player.currentTime = player.duration

(1) El video currentTime salta al final (deseado y esperado)

(2) El video comienza a reproducirse desde el principio cuando hago clic en reproducir (deseado y esperado)

(3) El video no se actualiza para mostrar el último cuadro (no deseado e inesperado)

Actualmente, tengo que hacer esto:

 player.currentTime = player.duration - 0.0001 player.play()

Lo que hace que el video salte cerca del final y luego reanuda la reproducción y luego se detiene casi inmediatamente cuando llega al final, lo que soluciona mi problema porque el video ahora muestra el último cuadro.

Sin embargo, esto se siente un poco extraño y no puede ser tan rápido como simplemente configurar la hora actual. ¿Hay una mejor solución? Gracias

NOTA: la operación de búsqueda para finalizar debe ser compatible con la ejecución de código programático (p. ej., ejecución de código en respuesta a un clic de botón). NO estoy usando la barra de búsqueda / fregado incorporada de los jugadores (que funciona bien).

about 4 years ago · Juan Pablo Isaza
1 answers
Answer question

0

Creo que encontré la respuesta, en la configuración de firefox player.currentTime = player.duration activa el evento "finalizado", por lo tanto, el video finaliza (sin espacio al final de la barra de búsqueda).

Pero en Chrome es diferente, en la configuración de Chrome player.currentTime = player.duration no activará el evento "finalizado" y hay una pequeña brecha al final de la barra de búsqueda (creo que esto es a lo que se refería). Enlace a mi prueba jsfiddle .

TL: DR El buen viejo problema del proveedor

Además, configurar player.currentTime = player.duration + 99999 en Chrome no activa el evento "finalizado" y la barra de búsqueda todavía tiene un espacio al final.

Entonces, el trabajo actual para este error es

 stopButton.addEventListener('click', () => { player.currentTime = player.duration player.play() // trick for chrome }) // to verify player.addEventListener('ended', (e) => console.log(e.target.ended ? "ended" : "not ended"))

Este código funciona tanto en Firefox como en Chrome y los resultados son exactamente los mismos.

about 4 years ago · Juan Pablo Isaza Report
Answer question
Find remote jobs

Discover the new way to find a job!

Top jobs
Top job categories
Business
Post vacancy Pricing Sales
Legal
Terms and conditions Privacy policy
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Show me some job opportunities
There's an error!