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.