El safari de iOS parece limitar la reproducción de videos en línea solo una vez cuando está en modo de bajo consumo, incluso si intenta reproducir el video en respuesta a una interacción del usuario. Puedes probar esto para ver:
document.querySelector('video').addEventListener('click', e => { e.target.play().then(() => alert('played after click')).catch(err => alert(`failed to play after click: ${JSON.stringify(err)}`)); }); <video src='https://media.tenor.com/videos/01faecfbc10705494038b7541e6d8756/mp4' autoplay playsinline></video> Cuando el modo de bajo consumo está APAGADO, puede tocar el video y siempre se reproduce cada vez (verá una alerta cada vez que toca y se reproduce). Sin embargo, cuando el modo de bajo consumo está activado, solo su primer toque reproducirá el video y mostrará la alerta. Los toques posteriores no hacen nada, ni siquiera activan el controlador .catch que puse en la llamada .play() .
¿Cómo puedo arreglar esto? Tenga en cuenta que aunque el atributo de autoplay está presente en el video, no me importa que no se reproduzca automáticamente cuando el modo de bajo consumo está activado. Necesito que siempre se reproduzca cuando se hace clic en el video.