我正在使用java客户端库google-cloud-speech版本"1.22.1",对位于Google Cloud上的文件进行异步语音识别。(使用 gs://网址(。
这适用于小型音频文件,但如果谷歌无法在 30 秒内完成工作,它会抛出异常"java.util.concurrent.CancelException"任务被取消,我没有得到任何结果。
有什么方法可以增加超时吗? 我等待响应的代码是:
OperationFuture<LongRunningRecognizeResponse, LongRunningRecognizeMetadata>response=speechClient.longRunningRecognizeAsync(config,audio);
while (!response.isDone()) {
System.out.println("Waiting for response...");
Thread.sleep(10000);
}
System.out.println("Build done");
List<SpeechRecognitionResult> results = response.get().getResultsList();
System.out.println("results.size=" + results.size());
我遇到了同样的问题。就我而言,我将版本更改为"1.0.0"并且它起作用了。当然,这取决于您是否可以出于您的目的更改版本。
在pom.xml文件中更改版本
<dependency>
<groupId>com.google.cloud</groupId>
<artifactId>google-cloud-speech</artifactId>
<version>1.0.0</version>
</dependency>