Что может означать Google - «ошибка сервера»? Это не особенно полезная ошибка. Кто-нибудь видел эту ошибку раньше?
Я выкладываю код здесь. Код обычно работает нормально, и это происходит на очень немногих устройствах, поэтому я думаю, что это больше связано с конфигурацией устройства.
intent = new Intent(RecognizerIntent.ACTION_RECOGNIZE_SPEECH);
intent.putExtra(RecognizerIntent.EXTRA_LANGUAGE_MODEL,RecognizerIntent.LANGUAGE_MODEL_FREE_FORM);
intent.putExtra(RecognizerIntent.EXTRA_LANGUAGE,lang);
intent.putExtra(RecognizerIntent.EXTRA_PARTIAL_RESULTS,interimResults);
intent.putExtra(RecognizerIntent.EXTRA_SPEECH_INPUT_COMPLETE_SILENCE_LENGTH_MILLIS, 20000);
intent.putExtra(RecognizerIntent.EXTRA_SPEECH_INPUT_POSSIBLY_COMPLETE_SILENCE_LENGTH_MILLIS, 20000);
intent.putExtra(RecognizerIntent.EXTRA_SPEECH_INPUT_MINIMUM_LENGTH_MILLIS, 10000);
if (android.os.Build.VERSION.SDK_INT >= 23) {
intent.putExtra("android.speech.extra.PREFER_OFFLINE", true);
}
intent.putExtra(RecognizerIntent.EXTRA_MAX_RESULTS,maxResults);
Handler loopHandler = new Handler(Looper.getMainLooper());
loopHandler.post(new Runnable() {
@Override
public void run() {
recognizer.startListening(intent);
}
});