从JavaScript捕获音频并使用Google语音API识别

从JavaScript捕获音频并使用Google语音API识别,javascript,speech-recognition,html5-audio,google-speech-api,Javascript,Speech Recognition,Html5 Audio,Google Speech Api,我使用库来捕获音频 recorder.exportWAV((data)-> fileReader = new FileReader; fileReader.onload = (blob) -> blob = blob.target.result; send(btoa(blob)) fileReader.readAsBinaryString(data) ) 但我得到了以下错误:

我使用库来捕获音频

recorder.exportWAV((data)->
        fileReader = new FileReader;
        fileReader.onload = (blob) ->
            blob = blob.target.result;
            send(btoa(blob))
        fileReader.readAsBinaryString(data)
      )
但我得到了以下错误:
必须使用单声道(mono)音频,但WAV头指示2个声道。

当我使用
exportmonovav
时,音频质量很低,识别结果很差


如何在不损失音质的情况下传递单声道WAV?

默认情况下,Recorder.js会录制双声道音频(通过复制来自麦克风的单声道)。要录制单声道声音(并将大小减半),请在Recorder.js构造函数中使用
numChannels:1
,如下所示:

var rec=新记录器(源,{numChannels:1})

numChannels
是Recorder.js的一项未记录的功能,但在中显示


来源(我的文章):

您可以共享该文件,让其他人更好地了解这个问题。质量差通常与话筒质量差有关,而不是与wav格式的单声道/立体声有关。