【发布时间】:2020-03-30 23:05:16
【问题描述】:
我正在尝试将 IBM Watson Speech-to-Text API 合并到一个 GUI 项目中。我正在使用他们文档中提供的示例代码(如下所示)来提出转录请求。我将此代码复制到一个方法中并对其进行了一些修改,并且在控制台中得到了没有问题的结果。我正在尝试将转录作为字符串发送到 GUI。问题是程序因 System.out(0) 而关闭。在没有 System.out(0) 的情况下获得结果后,我该怎么做才能停止执行此方法?
SpeechToText speechToText = new SpeechToText(authenticator);
speechToText.setServiceUrl("{url}");
try {
RecognizeOptions recognizeOptions = new RecognizeOptions.Builder()
.audio(new FileInputStream("audio-file.flac"))
.contentType("audio/flac")
.model("en-US_BroadbandModel")
.keywords(Arrays.asList("colorado", "tornado", "tornadoes"))
.keywordsThreshold((float) 0.5)
.maxAlternatives(3)
.build();
BaseRecognizeCallback baseRecognizeCallback =
new BaseRecognizeCallback() {
@Override
public void onTranscription
(SpeechRecognitionResults speechRecognitionResults) {
System.out.println(speechRecognitionResults);
}
@Override
public void onDisconnected() {
System.exit(0);
}
};
speechToText.recognizeUsingWebSocket(recognizeOptions,
baseRecognizeCallback);
} catch (FileNotFoundException e) {
e.printStackTrace();
}
【问题讨论】:
-
只删除 System.exit 方法调用?
-
我尝试过这样做并且也返回;但是这个方法里面的代码仍然执行,就好像连接没有关闭一样:/
标签: java ibm-watson speech-to-text