如何将音频从AngularJS流到Google云语音API

如何将音频从AngularJS流到Google云语音API,angularjs,google-cloud-speech,Angularjs,Google Cloud Speech,我是HTML5网络音频API和谷歌云语音API的新手。我正在尝试将语音识别构建到AngularJS应用程序中,这样用户就可以使用语音到文本执行搜索,而不是使用键盘键入搜索 其目的是使用getUserMedia()捕获音频并将其从客户端流式传输到Google,并异步接收返回的结果 Google提供了一套允许您从服务器端平台(如C#、Node和Java)流式传输到其API的方法,但我找不到一个示例来说明如何执行以下任一操作: 将音频从AngularJS直接流到Google云语音API 将音频从An

我是HTML5网络音频API和谷歌云语音API的新手。我正在尝试将语音识别构建到AngularJS应用程序中,这样用户就可以使用语音到文本执行搜索,而不是使用键盘键入搜索

其目的是使用getUserMedia()捕获音频并将其从客户端流式传输到Google,并异步接收返回的结果

Google提供了一套允许您从服务器端平台(如C#、Node和Java)流式传输到其API的方法,但我找不到一个示例来说明如何执行以下任一操作:

  • 将音频从AngularJS直接流到Google云语音API
  • 将音频从AngularJS流到自定义API,该API使用客户端库将提要转发到Google云语音API
有没有人找到一种方法将音频从AngularJS/HTML5客户端流式传输到像谷歌云语音API这样的API

有几个选项:

  • 流客户端:

  • 使用首选语言或类似配置对服务器端进行流式处理


  • 我试试看。奇怪的是,Cloud Speech developer web站点()没有提到Javascript客户端库Javascript客户端库比这些API首选的云客户端库更老-没有Javascript云客户端库。我真正需要的是与自然语言API的客户端集成。也就是说,你的推荐信很有帮助,确实回答了我的问题。谢谢同学们。@vt_托德:你们能解决这个问题吗?不,换了工作,换了技术人员,再也没回来过。对不起。
    function sendBytesToSpeech (bytes, encoding, rate, callback) {
      gapi.client.speech.speech.syncrecognize({
        config: {
          encoding: encoding,
          sampleRate: rate
        },
        audio: {
          content: bytes
        }
      }).execute(function (r) {
        callback(r);
      });
    }
    
    function sendBlobToSpeech (blob, encoding, rate) {
      var speechSender = new FileReader();
      speechSender.addEventListener('loadend', function () {
        sendBytesToSpeech(btoa(speechSender.result), encoding, rate, uiCallback);
      });
      speechSender.readAsBinaryString(blob);
    }