Estoy tratando de verificar el permiso del micrófono y luego comenzar a grabar usando este código, el siguiente código funciona en Chrome pero no funciona en Firefox. me dice microfono no disponible
navigator.permissions.query( { name: 'microphone' } ).then(permissionStatus => { console.log(permissionStatus.state); // granted, denied, prompt if(permissionStatus.state != 'granted') { alert('Please allow your microphone'); } else { this.startRecording(); } let self=this; permissionStatus.onchange = function(){ if(this.state!='granted') { } else { self.mic_permission=true; } console.log("Permission changed to " + this.state); } }).catch((error) => { //console.log('Got error :', error); });La API de permisos aún es experimental. Firefox actualmente no admite el permiso de microphone (ver aquí) .
Use la API de MediaDevices (ver aquí) en su lugar:
function getLocalStream() { navigator.mediaDevices.getUserMedia({video: false, audio: true}).then( stream => { window.localStream = stream; // A window.localAudio.srcObject = stream; // B window.localAudio.autoplay = true; // C }).catch( err => { console.log("u got an error:" + err) }); }