4
私は連続音声認識を使用しているアプリケーションを作成しています。先日、私の携帯電話をAndroid 6.0.1にアップデートしたときまではうまくいっていたので、これがコードを壊したものだと仮定しています。ほとんどの場合、スピーチレコグナイザはERROR_NO_MATCHエラーをスローし、5秒間リスンする予定のときに再起動する前に、1秒未満の入力を待ちます。それはアプリケーションにコマンドを言うのは非常に難しいです。ここに私のコードです: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();
}
一部のlogcat –