【发布时间】:2019-06-25 12:33:27
【问题描述】:
我正在使用 Google Speech Client 将语音转换为文本,它工作正常,但是当我尝试将其关闭时抛出异常。
这是我用于初始化的代码。
private val mSpeechClient by lazy {
applicationContext.resources.openRawResource(R.raw.credentials).use {
SpeechClient.create(SpeechSettings.newBuilder()
.setCredentialsProvider { GoogleCredentials.fromStream(it) }
.build())
}
}
但是当我打电话时
mSpeechClient.shutDown()
它正在抛出这个异常。
Process: com.google.cloud.examples.speechrecognition, PID: 10080
java.util.concurrent.RejectedExecutionException: Task java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask@11065d8d rejected from java.util.concurrent.ScheduledThreadPoolExecutor@3cbffe24[Terminated, pool size = 0, active threads = 0, queued tasks = 0, completed tasks = 2]
at java.util.concurrent.ThreadPoolExecutor$AbortPolicy.rejectedExecution(ThreadPoolExecutor.java:2011)
at java.util.concurrent.ThreadPoolExecutor.reject(ThreadPoolExecutor.java:793)
at java.util.concurrent.ScheduledThreadPoolExecutor.delayedExecute(ScheduledThreadPoolExecutor.java:298)
at java.util.concurrent.ScheduledThreadPoolExecutor.schedule(ScheduledThreadPoolExecutor.java:503)
at java.util.concurrent.ScheduledThreadPoolExecutor.execute(ScheduledThreadPoolExecutor.java:592)
at io.grpc.internal.SerializingExecutor.schedule(SerializingExecutor.java:93)
at io.grpc.internal.SerializingExecutor.execute(SerializingExecutor.java:86)
at io.grpc.internal.ClientCallImpl$ClientStreamListenerImpl.closed(ClientCallImpl.java:594)
at io.grpc.internal.DelayedStream$DelayedStreamListener$4.run(DelayedStream.java:418)
at io.grpc.internal.DelayedStream$DelayedStreamListener.delayOrExecute(DelayedStream.java:372)
at io.grpc.internal.DelayedStream$DelayedStreamListener.closed(DelayedStream.java:415)
at io.grpc.internal.AbstractClientStream$TransportState.closeListener(AbstractClientStream.java:392)
at io.grpc.internal.AbstractClientStream$TransportState.access$300(AbstractClientStream.java:200)
at io.grpc.internal.AbstractClientStream$TransportState$1.run(AbstractClientStream.java:376)
at io.grpc.internal.AbstractClientStream$TransportState.deframerClosed(AbstractClientStream.java:245)
at io.grpc.internal.Http2ClientStreamTransportState.deframerClosed(Http2ClientStreamTransportState.java:31)
at io.grpc.okhttp.OkHttpClientStream$TransportState.deframerClosed(OkHttpClientStream.java:275)
at io.grpc.internal.MessageDeframer.close(MessageDeframer.java:233)
at io.grpc.internal.MessageDeframer.closeWhenComplete(MessageDeframer.java:195)
at io.grpc.internal.AbstractStream$TransportState.closeDeframer(AbstractStream.java:180)
at io.grpc.internal.AbstractClientStream$TransportState.transportReportStatus(AbstractClientStream.java:379)
at io.grpc.okhttp.OkHttpClientTransport.startGoAway(OkHttpClientTransport.java:739)
at io.grpc.okhttp.OkHttpClientTransport.access$1900(OkHttpClientTransport.java:92)
at io.grpc.okhttp.OkHttpClientTransport$ClientFrameHandler.run(OkHttpClientTransport.java:936)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1112)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:587)
at java.lang.Thread.run(Thread.java:818)
【问题讨论】:
标签: android speech-recognition google-speech-api