private void processSpeech( String data ) throws IOException
{
Speech speechService = new Speech
.Builder( AndroidHttp.newCompatibleTransport(), new AndroidJsonFactory(), null)
.setSpeechRequestInitializer( new SpeechRequestInitializer( CLOUD_API_KEY ) )
.build();
RecognitionConfig recognitionConfig = new RecognitionConfig();
recognitionConfig.setLanguageCode( "en-US" );
RecognitionAudio recognitionAudio = new RecognitionAudio();
recognitionAudio.setContent( data );
SyncRecognizeRequest request = new SyncRecognizeRequest();
request.setConfig( recognitionConfig );
request.setAudio( recognitionAudio );
SyncRecognizeResponse response = speechService.speech()
.syncrecognize( request ).execute();
TextView speechToTextResult = ( TextView ) findViewById( R.id.speech_to_text_result );
speechToTextResult.setText( "Hello" );
SpeechRecognitionResult result = response.getResults().get( 0 );
final String transcript = result.getAlternatives().get( 0 ).getTranscript();
runOnUiThread( new Runnable()
{
@Override
public void run()
{
TextView speechToTextResult = ( TextView ) findViewById( R.id.speech_to_text_result );
speechToTextResult.setText( "Heyyy" );
}
} );
}
Я использовал код Google Speech API, упомянутый на этой странице GitHub .
Приложение не показывает ошибок времени компиляции, но когда я запускаю его и выбираю файл .FLAC для транскрибирования - ничего не происходит.После помещения операторов печати в код, я, кажется, сузил ошибку, которая заключается в следующей строке: -
SyncRecognizeResponse response = speechService.speech().syncrecognize(request).execute();
Я не вижу никакой ошибки, поэтому я не могу отладить это.Logcat также не показывает ничего, кроме "Couldn't load memtrack module"
.Любые предложения о том, что пошло не так?