Skip to content

Instantly share code, notes, and snippets.

@parzibyte
Created May 3, 2019 17:52
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save parzibyte/972f3588a6bf409689248ed042ad2a12 to your computer and use it in GitHub Desktop.
Save parzibyte/972f3588a6bf409689248ed042ad2a12 to your computer and use it in GitHub Desktop.
const comenzarAGrabar = () => {
if (!$listaDeDispositivos.options.length) return alert("No hay dispositivos");
// No permitir que se grabe doblemente
if (mediaRecorder) return alert("Ya se está grabando");
navigator.mediaDevices.getUserMedia({
audio: {
deviceId: $listaDeDispositivos.value,
}
})
.then(
stream => {
// Comenzar a grabar con el stream
mediaRecorder = new MediaRecorder(stream);
mediaRecorder.start();
comenzarAContar();
// En el arreglo pondremos los datos que traiga el evento dataavailable
const fragmentosDeAudio = [];
// Escuchar cuando haya datos disponibles
mediaRecorder.addEventListener("dataavailable", evento => {
// Y agregarlos a los fragmentos
fragmentosDeAudio.push(evento.data);
});
}
)
.catch(error => {
// Aquí maneja el error, tal vez no dieron permiso
console.log(error)
});
};
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment