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

326
Vistas
El video silenciado no se reproduce automáticamente cuando se inserta en HTML a través de Javascript

Estoy tratando de insertar un elemento HTML5 <video> a través de Javascript, pero no se reproduce automáticamente a pesar de que está silenciado .

Contexto de fondo

Me gustaría transferir todos mis archivos gif a un formato mp4. De igual forma, me gustaría que el video HTML emule un gif. Debe incluir las siguientes propiedades:

  • ser silenciado
  • Se reproduce automáticamente tan pronto como se carga la página web
  • Bucle indefinidamente
  • juega en linea

Actualmente estoy en Chrome 100.

lo que he probado

El código relevante se mantiene dentro de este codepen . Quiero agregar el video HTML dinámicamente a través de javascript. Sin embargo, esto falla en la reproducción automática a pesar de que se especifican tanto la reproducción automática como los atributos silenciados.

Sin embargo, si tengo el elemento de video con los mismos atributos escritos directamente en mi HTML, la funcionalidad de reproducción automática funciona bien.


¿Cómo inserto el video con JS y hago que se reproduzca automáticamente?

over 4 years ago · Santiago Trujillo
2 Respuestas
Responde la pregunta

0

Creo que podrías establecer atributos como este:

 const anchor = document.querySelector('#anchor'); const vid = document.createElement('video'); anchor.appendChild(vid); vid.autoplay = true; vid.loop = true; vid.muted = true; vid.playsinline = true; vid.src = 'https://www.w3schools.com/html/mov_bbb.mp4';

Intenta hacer estas modificaciones. Si aún no funciona, puede agregar esto en línea después del código anterior:

 vid.play()
over 4 years ago · Santiago Trujillo Denunciar

0

Parece que Chrome está ignorando el conjunto de atributos muted antes de que se carguen los medios. El video se reproduce automáticamente si el atributo muted se establece cuando los medios se cargan y se pueden reproducir, lo que se puede verificar con el detector de eventos canplay .

 vid.oncanplay = () => { vid.muted = true; vid.play(); }

Con esto, puede ignorar la configuración de la autoplay y los atributos muted inicialmente.

 const anchor = document.querySelector('#anchor'); const vid = document.createElement('video'); vid.setAttribute('loop', ''); vid.setAttribute('src', 'https://www.w3schools.com/html/mov_bbb.mp4'); vid.oncanplay = () => { vid.muted = true; vid.play(); } anchor.appendChild(vid);
 body { background-color: black; color: white; }
 <div id="anchor"></div>

over 4 years ago · Santiago Trujillo 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