Quiero detener la grabación de audio del micrófono cuando se detecta silencio después de 2 segundos,
hay una única función para detener el registro en caso de evento. Pero, ¿cómo puedo detectar un silencio durante 2 segundos y dejar de grabar?
const downloadLink = document.getElementById('download'); const stopButton = document.getElementById('stop'); const handleSuccess = function (stream) { const options = {mimeType: 'audio/webm'}; const recordedChunks = []; const mediaRecorder = new MediaRecorder(stream, options); mediaRecorder.addEventListener('dataavailable', function (e) { if (e.data.size > 0) recordedChunks.push(e.data); }); // Deve stoppare il record quando c'è silenzio mediaRecorder.addEventListener('stop', function () { $('#microfono-img').removeClass('mic_active'); downloadLink.href = URL.createObjectURL(new Blob(recordedChunks)); downloadLink.download = 'acetest.wav'; }); stopButton.addEventListener('click', function () { mediaRecorder.stop(); }); mediaRecorder.start(); }; navigator.mediaDevices.getUserMedia({audio: true, video: false}) .then(handleSuccess);