微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

实时STT的InfiniteStreamRecognize示例不起作用

如何解决实时STT的InfiniteStreamRecognize示例不起作用

在我的本地计算机上,我正在尝试以下示例的Google实时STT。

上面链接中的其他示例效果很好。 与实时STT相关的InfiniteStreamRecognize不起作用。

问题是 responSEObserver的onResponse根本没有被调用。结果,我无法获得任何翻译文本。而且不会引发异常/错误

    try (SpeechClient client = SpeechClient.create()) {
      ClientStream<StreamingRecognizeRequest> clientStream;
      responSEObserver =
          new ResponSEObserver<StreamingRecognizeResponse>() {

            ArrayList<StreamingRecognizeResponse> responses = new ArrayList<>();

            public void onStart(StreamController controller) {
              System.out.println("onStart");
              referencetoStreamController = controller;
            }

            public void onResponse(StreamingRecognizeResponse response) { <- This code is never called.
              System.out.println("onResponse");
              responses.add(response);
              StreamingRecognitionResult result = response.getResultsList().get(0);
              Duration resultEndTime = result.getResultEndTime();
              resultEndTimeInMS =
                  (int)
                      ((resultEndTime.getSeconds() * 1000) + (resultEndTime.getNanos() / 1000000));
              double correctedTime =
                  resultEndTimeInMS - bridgingOffset + (STREAMING_LIMIT * restartCounter);

通过以下代码成功发送麦克风收集的音频数据,没有任何例外。

    while (true) { ..
             ...
            tempByteString = ByteString.copyFrom(sharedQueue.take());

            // System.out.println("add audio data");
            request =
                StreamingRecognizeRequest.newBuilder().setAudioContent(tempByteString).build();

            audioInput.add(tempByteString);
          }

          clientStream.send(request);
    }
  1. 有什么解决办法吗?
  2. 是否还有其他环境设置?例如)gRPC for Java

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。