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()

0 ответов

Другие вопросы по тегам