Node.js 谷歌语音API超时时间

Node.js 谷歌语音API超时时间,node.js,timeout,google-speech-api,google-cloud-speech,Node.js,Timeout,Google Speech Api,Google Cloud Speech,我试图使用语音API客户端API将音频文件转换为文本 到目前为止,我已经成功地转换了一个简短的音频剪辑,但现在使用更长的文件(10分钟),我遇到了以下错误: Retry total timeout exceeded before anyresponse was received 我在文章中读到,对于异步调用,每次调用的最大分钟数是60分钟,我已经将该文件上载到Google云存储,因为超过1分钟的文件需要它 所以我真的不明白为什么会出现这样的错误,有什么帮助吗?默认情况下,系统超时时间为10分钟

我试图使用语音API客户端API将音频文件转换为文本

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

Retry total timeout exceeded before anyresponse was received
我在文章中读到,对于异步调用,每次调用的最大分钟数是60分钟,我已经将该文件上载到Google云存储,因为超过1分钟的文件需要它


所以我真的不明白为什么会出现这样的错误,有什么帮助吗?

默认情况下,系统超时时间为10分钟。 ,但修复程序表明这对我不起作用,我认为这是在运行代码和启动连接时需要设置的其他内容

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

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

这里我将参考
node.js
示例,类似的概念也适用于其他示例。 因此,当您得到响应时(不要使用promise版本),将回调传递给它,而不是

operation
    .on('error', function(err) {})
    .on('complete', function(transcript) {
      // transcript = "how old is the Brooklyn Bridge"
    });
做点像

console.log(operation)
记下操作名称,以后再使用


我没有找到合适的方法将超时时间设置为10分钟以上,所以我直接修改了
node\u modules/google gax/lib/longlunning.js
。 有一个名为
backoffsetings
的变量保存超时值,它是对
node\u modules/google gax/lib/gax.js
中的函数
createbackoffsetings
的调用。 在修改该变量之前,它是这样的:

backoffSettings =
        createBackoffSettings(100, 1.3, 60000, null, null, null, 600000);
我将其更改为处理1小时超时:

backoffSettings =
        createBackoffSettings(100, 1.3, 60000, null, null, null, 3600000);
createbackoffsetings
函数调用中的最后一个参数是
totalTimeoutMillis
,如您所见,默认值为10分钟

如果有人知道更好的处理方法,请分享。
希望能有所帮助。

对于其他有此问题的人,谷歌现在通过删除超时值修复了此错误。看见 My speech api请求在更新到最新的google gax npm包后现在可以成功运行