如何使用Extras将SpeechRecognizer连接到RecognizerIntent

时间:2013-04-29 11:55:22

标签: android android-intent speech-recognition

我试图围绕SpeechRecognizer进行思考。我有一个SpeechRecognizer和我自己的识别监听器:

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

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

        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在使用rec.startListening(intent)启动时完全忽略;

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

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

Layna

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

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

0 个答案:

没有答案