Android - речь к тексту без остановки по умолчанию
Я пытаюсь использовать речь к тексту. Этот пример в порядке, но я не хочу вызывать намерение и использовать диалог.
Я создаю экземпляр распознавателя речи, и он слушает намерение.
SpeechRecognizer sr = SpeechRecognizer.createSpeechRecognizer(getContext());
sr.setRecognitionListener(new RecognitionListener() {
@Override
public void onResults(Bundle b) {
Log.i("TAG", " onResults "); }
@Override
public void onBeginningOfSpeech() {
Log.i("TAG", " onBeginningOfSpeech ");
}@Override
public void onRmsChanged(float rmsdB) {
Log.i("TAG" , " onRmsChanged " + rmsdB);
}
@Override
....
Intent intent = new Intent(RecognizerIntent.ACTION_RECOGNIZE_SPEECH);
intent.putExtra(RecognizerIntent.EXTRA_LANGUAGE_MODEL,
RecognizerIntent.LANGUAGE_MODEL_FREE_FORM);
intent.putExtra(RecognizerIntent.EXTRA_LANGUAGE, Locale.getDefault());
sr.startListening(intent);
Когда я запускаю этот код, onRmsChanged запускается много раз. Поэтому я закомментирую Log.i("TAG" , " onRmsChanged " + rmsdB);
,
onReadyForSpeech -> onBeginningOfSpeech -> onEndOfSpeech -> onResults. Но время ожидания слишком короткое. Теперь я хочу подождать некоторое время в тишине. Как я могу сделать? Надо слушать пока я не позвоню sr.stoplistening()