Я пытаюсь включить 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();
}