Android Google Речь в текст ApiStreamObserver показывает «Необнаруженное исключение в SynchronizationContext. Panic! ошибка? - PullRequest
1 голос
/ 20 марта 2019

Я использую Google speech to text api из моего приложения для перевода.Здесь я инициализирую ApiStreamObserver для StreamingRecognizeResponse, это выдает какую-то ошибку.Код ниже,

Инициализировать SpeechClient как,

   @SuppressLint("StaticFieldLeak")
private void InitValue() {
    new AsyncTask<Void, Void, Void>() {
        @Override
        protected Void doInBackground(Void... params) {
            try {
                final InputStream stream = getResources().openRawResource(R.raw.transcribeapi);
                ServiceAccountCredentials credentials = ServiceAccountCredentials.fromStream(stream);
               mSpeechClient = SpeechClient.create(SpeechSettings.newBuilder()
                        .setCredentialsProvider(fixedCredentialsProvider)
                        .build());
                GetAudioPermission();
                initialized = true;
            } catch (IOException e) {
                e.printStackTrace();
            }
            return null;
        }
    }.execute();
}

StreamingRecognizeClient

ApiStreamObserver<StreamingRecognizeRequest> mRequestObserver;
  mRequestObserver= mSpeechClient.streamingRecognizeCallable().bidiStreamingCall(new ApiStreamObserver<StreamingRecognizeResponse>() {
        @Override
        public void onNext(StreamingRecognizeResponse response) {
            Log.d(TAG, "onNext: ");
           /* int numOfResults = response.getResultsCount();
            if( numOfResults > 0 ){
                for (int i=0;i<numOfResults;i++){
                    Log.d(TAG, "onNext: "+response.getResults(i).getAlternatives(i));
                }
            }*/

        }
        @Override
        public void onError(Throwable t) {
            Log.d(TAG, "onError: "+t.getMessage());
        }

        @Override
        public void onCompleted() {
            Log.d(TAG, "onCompleted: ");
        }
    });

сообщение об исключении;

onError: io.grpc.StatusRuntimeException: INTERNAL: Panic! This is a bug!



2019-03-20 17:30:32.485 25247-25293/com.logicvalley.translator E/ManagedChannelImpl: [Channel<1>: (speech.googleapis.com:443)] Uncaught exception in the SynchronizationContext. Panic!
java.lang.AbstractMethodError: abstract method "io.grpc.internal.ConnectionClientTransport io.grpc.internal.ClientTransportFactory.newClientTransport(java.net.SocketAddress, io.grpc.internal.ClientTransportFactory$ClientTransportOptions)"
    at io.grpc.internal.CallCredentialsApplyingTransportFactory.newClientTransport(CallCredentialsApplyingTransportFactory.java:47)
    at io.grpc.internal.InternalSubchannel.startNewTransport(InternalSubchannel.java:262)
    at io.grpc.internal.InternalSubchannel.obtainActiveTransport(InternalSubchannel.java:215)
    at io.grpc.internal.ManagedChannelImpl$SubchannelImpl.requestConnection(ManagedChannelImpl.java:1438)
    at io.grpc.internal.PickFirstLoadBalancer.handleResolvedAddressGroups(PickFirstLoadBalancer.java:59)
    at io.grpc.internal.AutoConfiguredLoadBalancerFactory$AutoConfiguredLoadBalancer.handleResolvedAddressGroups(AutoConfiguredLoadBalancerFactory.java:149)
    at io.grpc.internal.ManagedChannelImpl$NameResolverListenerImpl$1NamesResolved.run(ManagedChannelImpl.java:1312)
    at io.grpc.SynchronizationContext.drain(SynchronizationContext.java:101)
    at io.grpc.SynchronizationContext.execute(SynchronizationContext.java:130)
    at io.grpc.internal.ManagedChannelImpl$NameResolverListenerImpl.onAddresses(ManagedChannelImpl.java:1317)
    at io.grpc.internal.DnsNameResolver$Resolve.resolveInternal(DnsNameResolver.java:325)
    at io.grpc.internal.DnsNameResolver$Resolve.run(DnsNameResolver.java:225)
    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1162)
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:636)
    at java.lang.Thread.run(Thread.java:764)

Еще два дня я работаю над этим проектом, нигде нет примеров. Доступны только примеры kotlin.

Пожалуйста, кто-нибудь поможет мне ..

Заранее спасибо ...

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...