Google语音API超时时间

don*_*don 6 timeout node.js google-speech-api google-cloud-speech

我正在尝试使用语音 API 客户端 API 将音频文件转换为文本。

到目前为止,我已经成功转换了一个短音频剪辑,但现在使用一个较长的文件(10 分钟),我收到此错误:

Retry total timeout exceeded before anyresponse was received
Run Code Online (Sandbox Code Playgroud)

我在文档中读到,对于异步调用,每次调用的最大分钟数是 60 分钟,并且我已将文件上传到 Google Cloud Storage,因为超过 1 分钟的文件需要它。

所以我真的不明白为什么我会收到这个错误,有什么帮助吗?

Kuz*_*eko 1

默认情况下,系统超时时间为 10 分钟。 这是其他 Google Cloud 服务的一个已知问题,但建议的修复对我不起作用,我认为在运行代码并启动连接时需要设置其他内容。

无论如何,有一个解决方法!您获得长时间运行的操作名称,然后停止程序。操作将在google服务器上继续,稍后您将获取结果!

正如文档中所写

异步语音识别启动长时间运行的音频处理操作。

我将参考node.js 这里的示例,类似的概念也适用于其他人。因此,当您收到响应(不要使用承诺版本)时,请向其传递一个回调,如此处所述,而不是

operation
    .on('error', function(err) {})
    .on('complete', function(transcript) {
      // transcript = "how old is the Brooklyn Bridge"
    });
Run Code Online (Sandbox Code Playgroud)

只是做类似的事情

console.log(operation)
Run Code Online (Sandbox Code Playgroud)

记下操作名称,稍后使用操作方法

您可以在 google oauth Playground 上测试这些