4

Я создаю приложение, в котором я использую непрерывное распознавание речи. Он отлично работал до тех пор, пока я не обновил свой телефон до Android 6.0.1, поэтому я предполагаю, что это то, что сломало код. Теперь почти мгновенно распознаватель речи выдает ошибку ERROR_NO_MATCH и только прослушивает вход менее чем за секунду до перезапуска, когда он должен прослушивать 5 секунд. Это вызывает очень сложную реакцию команды на приложение. Вот мой код:Android Marshmallow 6.0.1 сломал мое непрерывное распознавание речи

private void displaySpeechRecognizer() { 
    if(sr != null) { 
     sr.destroy(); 
    } 
    sr = SpeechRecognizer.createSpeechRecognizer(this); 
    sr.setRecognitionListener(this); 
    intent = new Intent(RecognizerIntent.ACTION_RECOGNIZE_SPEECH); 
    intent.putExtra(RecognizerIntent.EXTRA_LANGUAGE_MODEL, RecognizerIntent.LANGUAGE_MODEL_FREE_FORM); 

    // Start the activity, the intent will be populated with the speech text 
    sr.startListening(intent); 
} 

@Override 
public void onReadyForSpeech(Bundle params) { 
} 

@Override 
public void onBeginningOfSpeech() { 
} 

@Override 
public void onRmsChanged(float rmsdB) { 
} 

@Override 
public void onBufferReceived(byte[] buffer) { 
} 

@Override 
public void onEndOfSpeech() { 
} 

@Override 
public void onError(int error) { 
    displaySpeechRecognizer(); 
} 
+1

Опубликовать некоторые логарифмы –

ответ