Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

311
Vistas
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 Respuestas
Responde la pregunta

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 Denunciar
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda