Todavía no pude encontrar ninguna respuesta a mi pregunta después de horas. He podido grabar solo desde el micrófono . Lo que quiero es grabar desde los altavoces (internos) . La idea es un piano virtual en el que estoy trabajando recientemente, y los usuarios deberían poder grabar lo que tocan.
Aquí está mi código:
const record = ()=> { console.log('recording started...') navigator.mediaDevices.getUserMedia({audio:true}).then( stream => { const MEDIA_RECORDER = new MediaRecorder(stream); MEDIA_RECORDER.start(); const AUDIO_CHUNKS = []; MEDIA_RECORDER.addEventListener('dataavailable',e => { AUDIO_CHUNKS.push(e.data); }) MEDIA_RECORDER.addEventListener('stop',() => { const AUDIO_BLOB = new Blob(AUDIO_CHUNKS); const AUDIO_URL = URL.createObjectURL(AUDIO_BLOB); const AUDIO = new Audio(AUDIO_URL); AUDIO.play(); }) setTimeout(()=>{ MEDIA_RECORDER.stop(); alert('Recording done!') },3000) }) }¿Alguna idea de cómo lograrlo? Cualquier respuesta es apreciada.