speechRecognizer не слушает - PullRequest
       10

speechRecognizer не слушает

0 голосов
/ 10 сентября 2018

SpeechRecognizer не работает, он не слушает даже после того, как я использую метод startListening ()

Далее идет инициализация speechRecognizer:

i = new Intent(RecognizerIntent.ACTION_RECOGNIZE_SPEECH);
i.putExtra(RecognizerIntent.EXTRA_LANGUAGE_MODEL, RecognizerIntent.LANGUAGE_MODEL_FREE_FORM);
i.putExtra(RecognizerIntent.EXTRA_MAX_RESULTS, 3);
i.putExtra(EXTRA_SPEECH_INPUT_MINIMUM_LENGTH_MILLIS, 20000);
i.putExtra(EXTRA_SPEECH_INPUT_POSSIBLY_COMPLETE_SILENCE_LENGTH_MILLIS, 10000);
i.putExtra(RecognizerIntent.EXTRA_CALLING_PACKAGE, "voice.recognition.test");
mySpeechRecognizer.startListening(i);

Далее реализованы методы:

private void initializeSpeechRecognizer() {
    if (SpeechRecognizer.isRecognitionAvailable(this)) {
        mySpeechRecognizer = SpeechRecognizer.createSpeechRecognizer(this);
        mySpeechRecognizer.setRecognitionListener(new RecognitionListener() {
            @Override
            public void onReadyForSpeech(Bundle bundle) {
                Toast.makeText(TestActivity.this, "Ready to hear", Toast.LENGTH_SHORT).show();
            }

            @Override
            public void onBeginningOfSpeech() {

            }

            @Override
            public void onRmsChanged(float v) {

            }

            @Override
            public void onBufferReceived(byte[] bytes) {

            }

            @Override
            public void onEndOfSpeech() {

            }

            @Override
            public void onError(int i) {

            }

            @Override
            public void onResults(Bundle bundle) {
                List<String> result = bundle.getStringArrayList(SpeechRecognizer.RESULTS_RECOGNITION);
                processResult(result.get(0));
            }

            @Override
            public void onPartialResults(Bundle bundle) {

            }

            @Override
            public void onEvent(int i, Bundle bundle) {

            }
        });
    }
}

здесь метод processResult (result.get (0)) обрабатывает результат, полученный от onResults ()

Я также дал разрешение на RECORD_AUDIO, но это не работает. пожалуйста, помогите.

...