0

我正在使用 getUserMedia 来访问 Chrome 中的用户麦克风(版本 28.0.1500.72 m)。当用户使用带有内置扬声器的内置麦克风时,我能够记录和回放用户输入。

一旦我插入 USB 麦克风耳机,我就不再能够记录用户的输入。我已经在隐私和内容设置下的 chrome 设置中切换了设备。所以chrome确实看到了新插入的麦克风。我也重新启动了 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);
        });
    }
4

3 回答 3

1

这是我使用的当前 chrome 版本中的一个错误 (28)。Chrome 金丝雀工作正常。

于 2013-12-22T03:20:01.557 回答
0

你能检查两个音频设备的采样率吗?

存在一个现有错误,即非默认麦克风仅在采样率与默认麦克风相同时才有效:https ://code.google.com/p/chromium/issues/detail?id=164058 。

另外,您使用的是 OSX 还是 Linux?错误中的注释使它看起来应该在 Windows 上修复。

于 2013-07-19T16:38:28.483 回答
0

尝试选择 USB 麦克风作为默认麦克风。Chrome 不管理音频设备,它始终使用默认麦克风。

于 2013-10-29T10:00:10.567 回答