Android проблема с Google Cloud Speech-to-Text API

Всем доброго времени суток! При разработке приложения столкнулся со следующей проблемой: есть аудио файл с раcширением .wav, который необходимо рспознать при помощи Cloud Speech-to-Text API. После использования кода, приведённого ниже (Это только часть кода активности: onActivityResult относится к записи речи)

Часть кода

@Override
    protected void onActivityResult(int requestCode, int resultCode, Intent data) {
        super.onActivityResult(requestCode, resultCode, data);
        if (requestCode == REQUEST_RECORD_AUDIO) {
            if (resultCode == RESULT_OK) {
                final File initialFile = new File(voice_path);
                try {
                    targetStream = new DataInputStream(new FileInputStream(initialFile));
                } catch (FileNotFoundException e) {
                    e.printStackTrace();
                }

                if (initialFile.exists()) {
                    byte[] fileContent = new byte[0];
                    try {
                        fileContent = FileUtils.readFileToByteArray(initialFile);
                    } catch (IOException e) {
                        e.printStackTrace();
                    }
                    voic_base64 = Base64.encodeBase64String(fileContent);
                    Log.i("BASE64AUDIO", voic_base64);
                    sendRecognition SR = new sendRecognition();
                    SR.execute();
                }
            }
        }}
class sendRecognition extends AsyncTask{
    SyncRecognizeRequest request;
    Speech speechService;

    SyncRecognizeResponse response;
    @Override
    protected void onPostExecute(Object o) {
        super.onPostExecute(o);
        SyncRecognizeResponse response = null;

    }

    @Override
    protected Object doInBackground(Object[] objects) {
         speechService = new Speech.Builder(
                AndroidHttp.newCompatibleTransport(),
                new AndroidJsonFactory(),
                null
        )
                .setSpeechRequestInitializer(new SpeechRequestInitializer(CLOUD_API_KEY))
                .setApplicationName("STTMessenger")
                .build();
        RecognitionConfig recognitionConfig = new RecognitionConfig();
        recognitionConfig.setLanguageCode("ru-RU");
        RecognitionAudio recognitionAudio = new RecognitionAudio();
       if(voic_base64!=null) recognitionAudio.setContent(voic_base64);
// Create request
         request = new SyncRecognizeRequest();
        request.setConfig(recognitionConfig);
        request.setAudio(recognitionAudio);
        if(request!=null){
            try {
                response = speechService.speech()
                        .syncrecognize(request)
                        .execute();
            } catch (IOException e) {
                e.printStackTrace();
            }
        }
// Extract transcript
        if(response!=null) {
            Log.i("ПРОВЕРКА12","--");
            SpeechRecognitionResult result = response.getResults().get(0);
            final String transcript = result.getAlternatives().get(0)
                    .getTranscript();
            Log.i("TRANSCRIPTED", transcript);
         }
        return null;
        }
    }
}

Вот код самой ошибки

W/System.err: javax.net.ssl.SSLException: Write error: ssl=0xaa3baf00: I/O error during system call, Broken pipe
W/System.err:     at com.android.org.conscrypt.NativeCrypto.SSL_write(Native Method)
        at com.android.org.conscrypt.OpenSSLSocketImpl$SSLOutputStream.write(OpenSSLSocketImpl.java:786)
        at com.android.okhttp.okio.Okio$1.write(Okio.java:76)
W/System.err:     at com.android.okhttp.okio.AsyncTimeout$1.write(AsyncTimeout.java:155)
        at com.android.okhttp.okio.RealBufferedSink.emitCompleteSegments(RealBufferedSink.java:176)
        at com.android.okhttp.okio.RealBufferedSink.write(RealBufferedSink.java:46)
        at com.android.okhttp.internal.http.HttpConnection$FixedLengthSink.write(HttpConnection.java:302)
        at com.android.okhttp.okio.RealBufferedSink.close(RealBufferedSink.java:238)
        at com.android.okhttp.okio.RealBufferedSink$1.close(RealBufferedSink.java:213)
        at com.google.api.client.http.javanet.NetHttpRequest.execute(NetHttpRequest.java:81)
        at com.google.api.client.http.HttpRequest.execute(HttpRequest.java:981)
        at com.google.api.client.googleapis.services.AbstractGoogleClientRequest.executeUnparsed(AbstractGoogleClientRequest.java:419)
W/System.err:     at com.google.api.client.googleapis.services.AbstractGoogleClientRequest.executeUnparsed(AbstractGoogleClientRequest.java:352)
        at com.google.api.client.googleapis.services.AbstractGoogleClientRequest.execute(AbstractGoogleClientRequest.java:469)
        at com.example.sttmmessenger.Perepiska$senReqPt2.doInBackground(Perepiska.java:488)
        at android.os.AsyncTask$2.call(AsyncTask.java:295)
        at java.util.concurrent.FutureTask.run(FutureTask.java:237)
        at android.os.AsyncTask$SerialExecutor$1.run(AsyncTask.java:234)
        at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1113)
        at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:588)
        at java.lang.Thread.run(Thread.java:818)

Код ошибки ссылается на

response = speechService.speech()
                        .syncrecognize(request)
                        .execute();

Не могу понять, в чём проблема? Где копать?


Ответы (0 шт):