Saltar al contenido

Pausar el carrusel de Bootstrap cuando se reproduce un video

Luego de tanto batallar ya dimos con el resultado de esta escollo que tantos lectores de esta web han tenido. Si quieres compartir alguna información no dejes de aportar tu conocimiento.

Solución:

Esto me funcionó para pausar el carrusel de Bootstrap cuando se está reproduciendo un video HTML5 nativo y reproducirlo nuevamente cuando un video está en pausa o termina de reproducirse. Soy un novato total en JS, pero busqué y ensarté algunas cosas. Es posible que haya cometido un error (probablemente) pero me funciona.

No estoy llamando videos por ID porque quiero que la acción funcione en cualquier video que se esté reproduciendo en el carrusel. Tengo algunos en mi caso.

Tenga en cuenta que debe cambiar la ID del carrusel para que coincida con la suya.


$ (“# myCarousel”). carrusel (‘pausa’); para detenerlo $ (“# myCarousel”). carousel (); para iniciarlo de nuevo http://www.w3.org/2010/05/video/mediaevents.html hay muchos eventos, debe iniciarlo de nuevo, incluso pausar, los eventos terminados se activan y pausar la reproducción.

para youtube, no estoy seguro de cómo lo integras, pero tienen js api, así que https://developers.google.com/youtube/js_api_reference#Events te mostrará eventos que puedes escuchar y hacer lo mismo que hiciste con el video html5

Para que los videos iframe de Youtube activen una pausa en el deslizamiento del carrusel cada vez que se reproduce un video, debe tener un indicador de si un video se considera “reproduciéndose”. Puede lograr esto utilizando las funcionalidades del reproductor de la API de iframe de Youtube con JavaScript.

  • https://developers.google.com/youtube/iframe_api_reference
  • https://developers.google.com/youtube/iframe_api_reference#Playback_status
  • https://developers.google.com/youtube/iframe_api_reference#Events

Escuche los eventos que involucran estos estados:

  • YT.PlayerState.PLAYING
  • YT.PlayerState.BUFFERING

Y luego controla el carrusel Bootstrap deslizándose .carousel('pause') :

  • https://getbootstrap.com/docs/4.4/components/carousel/#methods

Para poder escuchar tales eventos, puede agregar a su JavaScript una función llamada “onPlayerStateChange” (como se describe en la API de iframe de Youtube):

function onPlayerStateChange(event) // triggered everytime ANY iframe video player among the "players" list is played, paused, ended, etc.

    // Check if any iframe video is being played (or is currently buffering to be played)
    // Reference: https://developers.google.com/youtube/iframe_api_reference#Events
    if (event.data == YT.PlayerState.PLAYING 

Como referencia, aquí está el HTML de trabajo completo (funciona directamente, no se necesitan modificaciones):




    
    


    
    

Sección de Reseñas y Valoraciones

Tienes la opción de amparar nuestra tarea ejecutando un comentario o puntuándolo te estamos eternamente agradecidos.

¡Haz clic para puntuar esta entrada!
(Votos: 0 Promedio: 0)



Utiliza Nuestro Buscador

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *