Я пытаюсь обернуть голову вокруг MediaRecorder API , поэтому я написал простое веб-приложение, которое запускает, приостанавливает, возобновляет и останавливает запись звука. Код работает нормально, пока я не протестировал его в Firefox (последняя версия).
[Полный код здесь]
Javascript код:
var mediaRecorder = null,
constraints = { audio: true };
function onSuccess( stream ) {
mediaRecorder = new MediaRecorder( stream );
function getStatus() {
alert('The mediaRecorder is ' + mediaRecorder.state);
}
mediaRecorder.onstart = getStatus;
mediaRecorder.onpause = getStatus;
mediaRecorder.onresume = getStatus;
mediaRecorder.onstop = getStatus;
}
var onError = function(err) {
console.log('Error: ' + err);
}
navigator.mediaDevices.getUserMedia(constraints).then(onSuccess, onError);
HTML-код:
<button type="button" onclick="mediaRecorder.start()">Start</button>
<button type="button" onclick="mediaRecorder.pause()">Pause</button>
<button type="button" onclick="mediaRecorder.resume()">Resume</button>
<button type="button" onclick="mediaRecorder.stop()">Stop</button>
Я выяснил, что в Firefox при нажатии на паузу mediaRecorder фактически приостанавливается, но не запускает событие паузы (onpause), и то же самое для возобновления.
Вопрос: Есть ли способ решить эту проблему?