JavaScript - Activar el autoplay cuando se llegue a un punto específico

 
Vista:
Imágen de perfil de Eduardo Arroyo
Val: 159
Ha mantenido su posición en JavaScript (en relación al último mes)
Gráfica de JavaScript

Activar el autoplay cuando se llegue a un punto específico

Publicado por Eduardo Arroyo (176 intervenciones) el 03/12/2023 22:47:22
Hola y bendiciones para todos.
Hay alguna manera para manipular el autoplay de la etiqueta de vídeo nativa de HTML para que al momento de llegar a un lugar del explorador o se llegue al vídeo este se reproduzca automáticamente y no al momento cuando se cargue la web

Gracias..
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
Imágen de perfil de Ivan

Activar el autoplay cuando se llegue a un punto específico

Publicado por Ivan (118 intervenciones) el 08/12/2023 17:11:34
Hola,

actualmente la reproducción automática de videos está restringida en muchos navegadores, por lo que no es posible reproducirlos sin la acción del usuario. Un scroll no es suficiente, hace falta un clic.

Puedes probar el siguiente código:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
<video id="autoplayVideo" width="100%" controls>
  <source src="video.mp4" type="video/mp4">
</video>
<script>
document.addEventListener("DOMContentLoaded", function() {
    let video = document.getElementById("autoplayVideo");
 
    // Función para comprobar si el video está en la vista
    function isVideoInView() {
        let rect = video.getBoundingClientRect();
        return (rect.top <= window.innerHeight && rect.bottom >= 0);
    }
 
    // Función para manejar el evento de desplazamiento
    function handleScroll() {
        if (isVideoInView() && !video.playing) {
            video.play();
        } else {
            video.pause();
        }
    }
 
    // Asignar la función al evento de desplazamiento
    window.addEventListener("scroll", handleScroll);
 
    // Reproducir el video automáticamente cuando llegue a la vista
    handleScroll();
});

Un saludo!
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar