我正在使用 Google Cloud Platform Speech API。 我正在使用示例源进行开发。 https://github.com/GoogleCloudPlatform/android-docs-samples/tree/master/speech/Speech
与示例源几乎相同。 除了我的应用程序中 VoiceRecorder 的许多启动/停止。
我在三星设备中遇到此错误。 我在华为设备中没有遇到此错误。
com.google.common.base.Preconditions.checkState (Preconditions.java:444) io.grpc.internal.ClientCallImpl.sendMessage (ClientCallImpl.java:389) io.grpc.ForwardingClientCall.sendMessage (ForwardingClientCall.java:67) io.grpc.stub.ClientCalls$CallToStreamObserverAdapter.onNext (ClientCalls.java:302) com.example.myapp.SpeechService.recognize (SpeechService.java:299) com.example.myapp.MyActivity$1.onVoice (MyActivity.java:152) com.example.myapp.VoiceRecorder$ProcessVoice.run (VoiceRecorder.java:224)
如果您遇到同样的问题,请帮助我。 提前致谢。
最佳答案
该错误意味着您之前调用了 onCompleted()
,但现在调用了 onNext()
;这是不允许的。
SpeechService.java
中的代码看起来非常可靠,可以避免此类问题。我唯一的猜测是您正在从多个线程使用该类,但该类不是线程安全的。
关于java - GRPC : call was half-closed error,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51358715/