切换实时输入不工作的Javascript

切换实时输入不工作的Javascript,javascript,google-chrome,getusermedia,Javascript,Google Chrome,Getusermedia,我有toggleLiveInput()函数,问题是: 我运行了代码,它在桌面上运行良好。但是,当我构建一个应用程序时(如果你想知道的话,可以使用Intel XDK),只要你已经启动过一次应用程序,它就可以工作。第一次,它将完全忽略该函数。它做不到。有人知道为什么吗?谢谢 function toggleLiveInput() { getUserMedia( { "audio": { "mandatory": {

我有toggleLiveInput()函数,问题是:

我运行了代码,它在桌面上运行良好。但是,当我构建一个应用程序时(如果你想知道的话,可以使用Intel XDK),只要你已经启动过一次应用程序,它就可以工作。第一次,它将完全忽略该函数。它做不到。有人知道为什么吗?谢谢

function toggleLiveInput() {
    getUserMedia(
        {
            "audio": {
                "mandatory": {
                    "googEchoCancellation": "false",
                    "googAutoGainControl": "false",
                    "googNoiseSuppression": "false",
                    "googHighpassFilter": "false"
                },
                "optional": []
            },
        }, gotStream);
}
function gotStream(stream) {
    // Create an AudioNode from the stream.
    mediaStreamSource = audioContext.createMediaStreamSource(stream);

    // Connect it to the destination.
    analyser = audioContext.createAnalyser();
    analyser.fftSize = 2048;
    mediaStreamSource.connect( analyser );
    updatePitch();
    meter = createAudioMeter(audioContext);
    mediaStreamSource.connect(meter);
    drawLoop();
}
function drawLoop( time ) {
    rafID = window.requestAnimationFrame( drawLoop );
    volumeOfNote = meter.volume;
}
toggleLiveInput();

编辑:刚刚发现了一些奇怪的东西。我使用了
try()catch(e)
,没有发现任何错误。这意味着该函数正在被iGenred。但就一次?奇怪…

也许如果你为失败添加第二次回调,它会告诉你出了什么问题?@jib我喜欢你这样做。回调是什么样子的?在
gotStream
@jib之后添加
,函数(err){console.log(err);}
,我把它放在函数中,它给出了一个语法错误。“我到底应该把它放在哪里?”jib我在问题上展示了它