设置SpeechRecognition.startListenenig()并传递意图时出现错误

时间:2019-05-20 06:24:20

标签: java android

设置SPR.startlistenening()方法时出现错误,我想连续使用语音识别并根据结果执行任务。 我正在制作一个使用语音识别并针对结果执行特定任务的应用程序:

@Override
protected void onStart() {
    super.onStart();
    setSPR();
    Intent intent = new Intent(RecognizerIntent.ACTION_RECOGNIZE_SPEECH);        intent.putExtra(RecognizerIntent.EXTRA_LANGUAGE_MODEL,RecognizerIntent.LANGUAGE_MODEL_FREE_FORM);
    intent.putExtra(RecognizerIntent.EXTRA_MAX_RESULTS,1);
    SPR.startListening(intent);

}
private void setSPR() {
    if (SpeechRecognizer.isRecognitionAvailable(this)){
        SpeechRecognizer.createSpeechRecognizer(this);
        SPR.setRecognitionListener(new RecognitionListener() {
            @Override
            public void onReadyForSpeech(Bundle params) {
            }
            @Override
            public void onBeginningOfSpeech() {
            }

            @Override
            public void onRmsChanged(float rmsdB) {

            }

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

            }

            @Override
            public void onEndOfSpeech() {

            }

            @Override
            public void onError(int error) {

            }

            @Override
            public void onResults(Bundle bundle) {
                ArrayList<String> results = bundle.getStringArrayList(SpeechRecognizer.RESULTS_RECOGNITION);
                setRecognitionResults(results.get(0));
            }
            @Override
            public void onPartialResults(Bundle partialResults) {

            }

            @Override
            public void onEvent(int eventType, Bundle params) {           }
        });
    }
}

错误>>>

  

java.lang.NullPointerException:尝试调用虚拟方法'void   android.speech.SpeechRecognizer.startListening(android.content.Intent)'   在一个空对象引用上   com.teamdev.talkingtorch.MainActivity.onStart(MainActivity.java:74)在   android.app.Instrumentation.callActivityOnStart(Instrumentation.java:1341)   在android.app.Activity.performStart(Activity.java:7278)处   android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2937)

0 个答案:

没有答案