Chrome(バージョン28.0.1500.72 m)でユーザーのマイクにアクセスするためにgetUserMediaをいじっています。内部スピーカー付きの内部マイクを使用すると、ユーザー入力を記録および再生できます。
USB マイク ヘッドセットを接続するとすぐに、ユーザーの入力を記録できなくなります。プライバシーとコンテンツの設定の Chrome 設定でデバイスを切り替えました。そのため、クロムは新しく接続されたマイクを認識します。クロムを再起動し、マイクも接続した後、もう一度試しました。まだユーザー入力はありません。
前もって感謝します。
以下は、私が使用している現在のコードです。
window.AudioContext = window.AudioContext||window.webkitAudioContext;
var html5Recorder;
var audioContext = new AudioContext();
navigator.getUserMedia = navigator.getUserMedia || navigator.webkitGetUserMedia || navigator.mozGetUserMedia || navigator.msGetUserMedia || navigator.oGetUserMedia;
if(navigator.getUserMedia){
navigator.getUserMedia({audio:true},handleAudioStream, audioError)
}else{
console.log('Use Flash')
}
function handleAudioStream(stream){
var mediaStream = audioContext.createMediaStreamSource(stream);
mediaStream.connect( audioContext.destination );
html5Recorder = new HTML5Recorder(mediaStream);
html5Recorder.stop();
html5Recorder.clear();
}
function audioError(error){
console.log(error);
}
function record(){
html5Recorder.record();
}
function stopRecording(){
html5Recorder.stop();
html5Recorder.exportWAV(function(e){
console.log(e);
console.log(window.URL.createObjectURL(e));
document.getElementById('audio1').src = window.URL.createObjectURL(e);
HTML5Recorder.forceDownload(e);
});
}