Estoy usando JavaScript para grabar la pantalla del usuario y luego reproducirla en una etiqueta de video de la página y descargarla. Ahora se reproduce bien la etiqueta de video del navegador, pero no se reproduce una vez que se descarga
Aquí está mi código
let btn = document.querySelector('button') btn.addEventListener('click', async function (){ let stream = await navigator.mediaDevices.getDisplayMedia({ video: true }) let mediaRecorder = new MediaRecorder(stream) let chunks = [] mediaRecorder.addEventListener('dataavailable', function (e) { chunks.push(e.data) }) mediaRecorder.addEventListener('stop', function () { let blob = new Blob(chunks, { 'type': 'video/webm' }) // Working fine let video = document.querySelector('video') video.src = URL.createObjectURL(blob) // Downloaded video is not playing let a = document.createElement('a') a.href = URL.createObjectURL(blob) a.download = 'video.webm' a.click() }) mediaRecorder.start() })```Podría valer la pena que pruebes este experimento, ejecuta este código:
<a href="https://www.w3schools.com/html/mov_bbb.mp4" target="_blank">click</a> <script> const a = document.querySelector('a'); a.click(); </script>(no funciona como un fragmento de pila, debe ejecutarse directamente en su sistema/navegador).
¿El video comienza automáticamente? Si no es así, ¿ve alguna advertencia, por ejemplo, en la parte superior derecha de la ventana de su navegador, que indica que las ventanas emergentes están bloqueadas? Si es así, podrías intentar desbloquearlos y ver qué sucede.
Nota: no estoy seguro de lo que quiere decir con 'descargar' y su configuración en el elemento de anclaje.