grabar example camara audio web-audio getusermedia

example - record audio html5



La captura del micrófono HTML5 se detiene después de 5 segundos en Firefox (1)

Estoy capturando la entrada de audio del micrófono con la función getUserMedia (), funciona bien en Chrome, pero en Firefox el sonido se apaga después de 5 segundos. Si vuelvo a enviar la solicitud de micrófono (sin volver a cargar la página), sucede lo mismo. Aquí está el código (utilicé http://updates.html5rocks.com/2012/09/Live-Web-Audio-Input-Enabled como guía):

//getting the function depending on browser navigator.getMedia = ( navigator.getUserMedia || navigator.webkitGetUserMedia || navigator.mozGetUserMedia || navigator.msGetUserMedia); // success callback when requesting audio input stream function gotAudioStream(stream) { window.AudioContext = window.AudioContext || window.webkitAudioContext; var audioContext = new AudioContext(); // Create an AudioNode from the stream. var mediaStreamSource = audioContext.createMediaStreamSource( stream ); // Connect it to the destination to hear yourself (or any other node for processing!) mediaStreamSource.connect( audioContext.destination ); } function gotError(err) { alert("An error occured! " + err); } //when button clicked, browser asks a permission to access microphone jQuery("#sound_on").click(function() { navigator.getMedia({audio: true},gotAudioStream,gotError); });

¿Algunas ideas?

EDITAR / ACTUALIZAR

Gracias, csch, por la referencia. La solución por Karoun Kasraie trabajó!

context = new AudioContext(); navigator.getUserMedia({ audio: true }, function(stream) { // the important thing is to save a reference to the MediaStreamAudioSourceNode // thus, *window*.source or any other object reference will do window.source = context.createMediaStreamSource(stream); source.connect(context.destination); }, alert);


Es un error en Firefox, se puede encontrar aquí:

https://bugzilla.mozilla.org/show_bug.cgi?id=934512

También hay una solución:

context = new AudioContext(); navigator.getUserMedia({ audio: true }, function(stream) { // the important thing is to save a reference to the MediaStreamAudioSourceNode // thus, *window*.source or any other object reference will do window.source = context.createMediaStreamSource(stream); source.connect(context.destination); }, alert);

source