我正在研究一個android應用程序,它提供了連續的語音識別。針對EXTRA_SPEECH_INPUT_COMPLETE_SILENCE_LENGTH_MILLIS的黑客攻擊?
一切工作正常,除了在最後一個詞發音約6秒後的沉默延遲。
我已經看到這是Android中的一個已知錯誤,但是有沒有其他方法/黑客/解決方法?
Intent intent = new Intent (RecognizerIntent.ACTION_RECOGNIZE_SPEECH);
intent.putExtra (RecognizerIntent.EXTRA_LANGUAGE_PREFERENCE, Locale.getDefault());
intent.putExtra (RecognizerIntent.EXTRA_LANGUAGE_MODEL, RecognizerIntent.LANGUAGE_MODEL_WEB_SEARCH);
intent.putExtra (RecognizerIntent.EXTRA_CONFIDENCE_SCORES, true);
intent.putExtra (RecognizerIntent.EXTRA_SPEECH_INPUT_COMPLETE_SILENCE_LENGTH_MILLIS, 0);
intent.putExtra (RecognizerIntent.EXTRA_SPEECH_INPUT_POSSIBLY_COMPLETE_SILENCE_LENGTH_MILLIS, 0);
intent.putExtra (RecognizerIntent.EXTRA_CALLING_PACKAGE, getApplication().getPackageName());
speechRecognizer.startListening (intent);
所以基本上根本沒有考慮到RecognizerIntent.EXTRA_SPEECH_INPUT_COMPLETE_SILENCE_LENGTH_MILLIS
。
有什麼辦法解決這個問題嗎?或替代API? (我已經使用PocketSphinx,但不能使它在字典外的句子和單詞上工作)。
[谷歌語音識別超時(http://stackoverflow.com/questions/38150312/google-speech-recognition-timeout) – brandall