Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/375.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript HTML5音频录制无法使用外部麦克风_Javascript_Html_Google Chrome_Webrtc_Getusermedia - Fatal编程技术网

Javascript HTML5音频录制无法使用外部麦克风

Javascript HTML5音频录制无法使用外部麦克风,javascript,html,google-chrome,webrtc,getusermedia,Javascript,Html,Google Chrome,Webrtc,Getusermedia,我正在使用getUserMedia访问Chrome(版本28.0.1500.72 m)中的用户麦克风。当用户使用内置扬声器的内置麦克风时,我能够录制和播放用户输入的内容 一旦我插入usb麦克风耳机,我就无法再记录用户的输入。我已在“隐私和内容设置”下的chrome设置中切换设备。所以chrome确实看到了新插入的麦克风。我重新启动了chrome,并在插入麦克风后再次尝试。仍然没有用户输入 提前谢谢 下面是我正在使用的当前代码 window.AudioContext = window.Au

我正在使用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);
        });
    }

您能检查两个音频设备上的采样率吗

存在一个现有错误,即只有采样率与默认麦克风相同时,非默认麦克风才会工作:


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

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

这是我当前使用的Chrome版本中的一个错误(28)。铬金丝雀很好用