3

我正试图将注意力集中在 SpeechRecognizer 上。我有一个带有我自己的识别侦听器的 SpeechRecognizer:

rec = SpeechRecognizer.createSpeechRecognizer(this);
    rec.setRecognitionListener(new RecognitionListener() {
        //Lots of overrides that work perfectly fine
    });

当我使用 rec.startListening(intent); 启动它时,Wich 工作正常;但我的意图恰好有一些额外的东西:

        intent.putExtra(RecognizerIntent.EXTRA_PARTIAL_RESULTS, true);
    intent.putExtra(RecognizerIntent.EXTRA_RESULTS_PENDINGINTENT, true);
    intent.putExtra(RecognizerIntent.EXTRA_LANGUAGE, "de-DE");
    intent.putExtra(RecognizerIntent.EXTRA_MAX_RESULTS, 3);

    intent.putExtra(RecognizerIntent.EXTRA_LANGUAGE_MODEL,
            RecognizerIntent.LANGUAGE_MODEL_FREE_FORM);

所有这些,识别器在使用 rec.startListening(intent); 启动时完全忽略。

另一方面,当我使用 startActivityForResult(intent, 1000, intent.getExtras()); 要开始识别,来自 RecognitionLister 的代码将被完全忽略。

如何使用自己的 RecognitionListener 和 Intent-extras 开始识别?

莱娜

==============

PS:我现在已经意识到 startActivityForResult 绝对没有理由使用 ReconitionListener 的代码......但我仍然很困惑为什么 startListening 应该忽略额外内容。

4

0 回答 0