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

150
Vistas
Las grabaciones subsiguientes de la cámara web de mediarecorder se dañan cuando se cargan

Estoy tratando de grabar 3 películas una tras otra, con diferentes instrucciones para el usuario. El código parece funcionar bien, las instrucciones cambian, las variables que estoy registrando están bien (fragmentos grabados, grabación guardada).

Después de ejecutar el script, tengo 3 archivos webm, todos aproximadamente del mismo tamaño. Sin embargo, solo uno es jugable. Los otros dos están dañados. He estado jugando mucho en el código, pero todo parece estar bien.

Me encantaría si alguien pudiera dar una mano!

Inicialización:

 var constraints = { audio: true,video: {width: {min: 1280}, height: {min: 720}, facingmode: 'user'}}; navigator.mediaDevices.getUserMedia(constraints).then((stream) => { video.srcObject = stream; cameraStream = stream; startRecording(); });

Función de inicio de grabación:

 function startRecording() { if(stage == 1) { console.log('Started stage '+stage); lineOne.innerHTML = "Kijk recht in de camera"; line.animate(1); fName = 'base'; } if(stage == 2) { lineOne.innerHTML = "Kijk over uw linkerschouder"; line.set(0); line.animate(1); fName = 'left'; } if(stage == 3) { lineOne.innerHTML = "Kijk over uw rechterschouder"; line.set(0); line.animate(1); fName = 'right'; } blobs_recorded = []; mr = new MediaRecorder(cameraStream); mr.addEventListener('dataavailable', function(e) { blobs_recorded.push(e.data); }); mr.start(500); setTimeout(function(){stopRecording(fName);},5000); }

Detener la grabación/guardar archivo/iniciar la siguiente película:

 function stopRecording(name) { recording = null; mr.stop(); console.log("stopped recording"); console.log(blobs_recorded.length); recording = new File(blobs_recorded, name+'.webm', { type: 'video/webm' }); var xhr = new XMLHttpRequest(); const upload = new FormData(); upload.append('file',recording); upload.append('fileName',name); upload.append('code',code); upload.append('renterId',renterId); xhr.open('POST','upload.php',false); xhr.send(upload); stage = stage+1; lineOne.innerHTML = ""; if(stage < 4) { startRecording(); } }

Después de ejecutar el script, obtuve base.webm / left.webm y right.webm, pero solo se puede reproducir base.webm, los otros dos están dañados.

about 4 years ago · Juan Pablo Isaza
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