Javascript を使用したオーディオ キャプチャに MediaStreamRecorder.js ライブラリを使用しています。ほとんどすべて問題ありません。私が見つけた唯一の問題は、[停止] をクリックして記録を停止したときに、赤い記録アイコンがまだタブに表示されていることです。[停止] をクリックしたときにこのアイコンを削除する方法を知っている人はいますか?
jsFiddle での例: https://jsfiddle.net/davidsadan/wazb1jks
これは、[停止] をクリックしたときの様子を示したものです。
ps: https でのみ動作します。申し訳ありませんが、英語で申し訳ありませんが、ブラジル人です...
var mediaConstraints = {
    audio: true
};
var mediaRecorder;
var blobURL;
function onMediaSuccess(stream) {
	$(function(){
	mediaRecorder = new MediaStreamRecorder(stream);    
    mediaRecorder.mimeType = 'audio/wav';
    mediaRecorder.audioChannels = 1;
    mediaRecorder.ondataavailable = function (blob) {
        // POST/PUT "Blob" using FormData/XHR2
        blobURL = URL.createObjectURL(blob);
        $("#result").append('<audio controls src="' + blobURL + '"></audio><br><a href="' + blobURL + '" target="_blank">' + blobURL + '</a>');
    };
    mediaRecorder.start(5000*5000);
    setTimeout(function(){
    	mediaRecorder.stop();
    }, 120 * 1000);//Se não clicar em parar, a gravação para automaticamente em 2 minutos.
    });
}
function onMediaError(e) {
    console.error('media error', e);
}
function onStop(){
	mediaRecorder.stop();
	mediaRecorder.stream.stop();
}
var interval;
function contadorIncremento(){
  var count = 1;
  interval = setInterval(function() { 
      if(count > 1)
        $('.contador').html("setInterval: Ja passou "+ count++ +" segundos!");
      else
        $('.contador').html("setInterval: Ja passou "+ count++ +" segundo!");
     }, 1000);
}
function stopContadorIncremento(){
    clearTimeout(interval);
    $('.contador').html("");
}
$(function(){
  
	$(".play").on("click", function(){ 
  		navigator.getUserMedia(mediaConstraints, onMediaSuccess, onMediaError);
       contadorIncremento();
  	});
  	$(".stop").on("click", function(){
  		mediaRecorder.stop();
      stopContadorIncremento();
  	});
  	$(".resume").on("click", function(){
  		mediaRecorder.resume();
  	});
  	$(".salvar").on("click", function(){
  		mediaRecorder.save();
  	});
 
});<script src="https://webrtcexperiment-webrtc.netdna-ssl.com/MediaStreamRecorder.js"></script>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
 <div id="result"></div> 
<button class="play">Start</button>
<button class="stop">Stop</button>
<button class="resume">Resume</button>
<button class="salvar">Salvar</button>
  
 <div class="contador"></div>