Ich erstelle eine Anwendung, die ich kontinuierliche Spracherkennung verwenden. Es funktionierte großartig bis vor ein paar Tagen, als ich mein Handy auf Android 6.0.1 aktualisierte, also gehe ich davon aus, dass das den Code kaputt gemacht hat. Fast augenblicklich löst der Spracherkenner einen ERROR_NO_MATCH-Fehler aus und wartet nur für eine Eingabe von weniger als einer Sekunde, bevor er neu startet, wenn er 5 Sekunden lang zuhören soll. Es ist sehr schwierig, einen Befehl an die Anwendung zu senden. Hier ist mein Code:Android Marshmallow 6.0.1 brach meine kontinuierliche Spracherkennung
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();
}
post einige logcat –