java - GRPC : call was half-closed error

标签 java android grpc google-cloud-speech

我正在使用 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/

相关文章:

android - Intellij 无法在 Genymotion 上运行应用程序(但可以启动它)

Xcode:签署 "gRPC-C++-gRPCCertificates-Cpp"需要一个开发团队

java - 是否可以检查 proto 文件中的枚举值?

java - Paypal Java SDK - 尝试创建加密按钮 - 不起作用,找不到文档

android - React-native - 应用程序在模拟器上工作但不在真实设备上

java - 如何在java中从H2数据库映射id列

android - AppBarLayout 工具栏 TabLayout ViewPager DrawerLayout

python - GRPC_TOOLS.PROTOC 生成损坏的 pb2 python 文件

Java 模式匹配器组定义

java - println() 方法中的字符串连接