错误8在语音识别机器人

这个代码给出错误8在语音识别,甚至当我开始我的第time..recognizer应用,可以忙,但它应该工作至少1 time..plz帮助错误8在语音识别机器人

这应用程序只是用于检测语音并给出结果。

package com.expense;

import android.app.Activity; 

import android.app.Dialog;

import android.app.AlertDialog;

import android.content.DialogInterface;

import android.content.Intent;

import android.os.Bundle;

import android.speech.RecognitionListener;

import android.speech.RecognizerIntent;

import android.speech.SpeechRecognizer;

import android.util.Log;

import android.view.View;

import android.widget.ArrayAdapter;

import android.widget.Button;

import android.widget.ListView;

import android.widget.TextView;

import android.widget.Toast;

import java.text.DateFormat;

import java.util.ArrayList;

import java.util.Date;

public class ExpenseAppActivity extends Activity {

/** Called when the activity is first created. */

private SpeechRecognizer sr,sr2;

Button add;

String tag="events";

ListView modeList;

AlertDialog.Builder builder1;

int f;

Button view;

private static final String TAG = "MyStt3Activity";

//AlertDialog.Builder builder;

@Override

public void onCreate(Bundle savedInstanceState) {

super.onCreate(savedInstanceState);

setContentView(R.layout.main);

Log.d("rahul","in on create event");

Log.d("rahul","lllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllll");

modeList= new ListView(this);

builder1 = new AlertDialog.Builder(this);

SQLiteAdapter mySQLiteAdapter;

mySQLiteAdapter= new SQLiteAdapter(this);

mySQLiteAdapter.openToWrite();

f=0;

mySQLiteAdapter.close();

System.out.println("1");

add=(Button)findViewById(R.id.add);

System.out.println("2");

view=(Button)findViewById(R.id.view);

System.out.println("3");

Button others=(Button)findViewById(R.id.others);

System.out.println("4");

sr = SpeechRecognizer.createSpeechRecognizer(this);

sr.setRecognitionListener(new listener());

Intent intent = new Intent(RecognizerIntent.ACTION_RECOGNIZE_SPEECH);

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

intent.putExtra(RecognizerIntent.EXTRA_CALLING_PACKAGE,"voice.recognition.test");

intent.putExtra(RecognizerIntent.EXTRA_MAX_RESULTS,5);

sr.startListening(intent);

Log.i("111111","11111111");

add.setOnClickListener(new View.OnClickListener() {

public void onClick(View v) {

//sr.cancel();

Intent myIntent = new Intent(ExpenseAppActivity.this,

Add.class);

ExpenseAppActivity.this.startActivity(myIntent);

}

});

view.setOnClickListener(new View.OnClickListener() {

public void onClick(View v) {

Intent myIntent = new Intent(ExpenseAppActivity.this,

ViewDetails.class);

ExpenseAppActivity.this.startActivity(myIntent);

}

});

others.setOnClickListener(new View.OnClickListener() {

public void onClick(View v) {

Intent myIntent = new Intent(ExpenseAppActivity.this,

Others.class);

ExpenseAppActivity.this.startActivity(myIntent);

}

});

}

public void onStart()

{

super.onStart();

Log.d(tag,"In the onStart() event");

}

/* public void onResume()

{

super.onResume();

Log.d(tag,"In the onResume() event");

}*/

public void onStop()

{

super.onStop();

Log.d(tag,"In the onStop() eventttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttt");

sr.stopListening();

sr.destroy();

}

public void onPause()

{

super.onPause();

Log.d(tag,"In the onPause() eventttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttt");

sr.stopListening();

sr.destroy();

}

public void onRestart()

{

super.onRestart();

Log.d(tag,"In the onRestart() event");

sr = SpeechRecognizer.createSpeechRecognizer(this);

sr.setRecognitionListener(new listener());

Intent intent = new Intent(RecognizerIntent.ACTION_RECOGNIZE_SPEECH);

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

intent.putExtra(RecognizerIntent.EXTRA_CALLING_PACKAGE,"voice.recognition.test");

intent.putExtra(RecognizerIntent.EXTRA_MAX_RESULTS,5);

sr.startListening(intent);

Log.i("111111","11111111");

}

public void onDestroy()

{

super.onDestroy();

Log.d(tag,"In the onDestroy() event");

}

class listener implements RecognitionListener

{

public void onReadyForSpeech(Bundle params)

{

Log.d(TAG, "onReadyForSpeech");

// mText5.setText("hi");

}

public void onBeginningOfSpeech()

{

Log.d(TAG, "onBeginningOfSpeech");

//mText2.setText("1");

}

public void onRmsChanged(float rmsdB)

{

Log.d(TAG, "onRmsChanged");

//mText3.setText("2");

}

public void onBufferReceived(byte[] buffer)

{

Log.d(TAG, "onBufferReceived");

//mText4.setText("3");

}

public void onEndOfSpeech()

{

Log.d(TAG, "onEndofSpeech");

}

public void onError(int error)

{

Log.d(TAG, "error " + error);

add.setText("error " + error);

if(error==8)

{

func();

}

}

public void onResults(Bundle results)

{

String str = new String();

Log.d(TAG, "onResults " + results);

ArrayList data = results.getStringArrayList(SpeechRecognizer.RESULTS_RECOGNITION);

final String dat[]=new String[data.size()];

for (int i = 0; i < data.size(); i++)

{

Log.d(TAG, "result " + data.get(i));

dat[i]=(String) data.get(i);

str += data.get(i);

}

for(int i=0;i<data.size();i++)

{

if(dat[i].equalsIgnoreCase("add")|| dat[i].equalsIgnoreCase("view")|| dat[i].equalsIgnoreCase("others"))

{

f=1;

break;

}

else

{

f=0;

}

}

if(f==0)

{

func();

view.setText(Integer.toString(f));

}

for(int i=0;i<data.size();i++)

{

if(dat[i].equalsIgnoreCase("add"))

{

Intent myIntent = new Intent(ExpenseAppActivity.this,

Add.class);

ExpenseAppActivity.this.startActivity(myIntent);

}

else if(dat[i].equalsIgnoreCase("view"))

{

Intent myIntent = new Intent(ExpenseAppActivity.this,

ViewDetails.class);

ExpenseAppActivity.this.startActivity(myIntent);

}

}

// func(dat);

// mText.setText("results: "+String.valueOf(data.size()));

/* builder.setTitle("Pick a color");

builder.setItems(dat, new DialogInterface.OnClickListener() {

public void onClick(DialogInterface dialog, int item) {

Toast.makeText(getApplicationContext(), dat[item], Toast.LENGTH_SHORT).show();

}

});*/

//AlertDialog alert = builder.create();

add.setText("results: "+str);

//mText2.setText(dat[0]);

}

public void onPartialResults(Bundle partialResults)

{

Log.d(TAG, "onPartialResults");

}

public void onEvent(int eventType, Bundle params)

{

Log.d(TAG, "onEvent " + eventType);

}

}

/* void func(String dat[])

{

ArrayAdapter<String> modeAdapter = new ArrayAdapter<String>(this, android.R.layout.simple_list_item_1, android.R.id.text1,dat);

Log.d("rahul","1");

modeList.setAdapter(modeAdapter);

Log.d("rahul","2");

builder1.setView(modeList);

Log.d("rahul","3");

final Dialog dialog = builder1.create();

dialog.show();

}*/

void func()

{

sr2 = SpeechRecognizer.createSpeechRecognizer(this);

sr2.setRecognitionListener(new listener());

Intent intent = new Intent(RecognizerIntent.ACTION_RECOGNIZE_SPEECH);

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

intent.putExtra(RecognizerIntent.EXTRA_CALLING_PACKAGE,"voice.recognition.test");

intent.putExtra(RecognizerIntent.EXTRA_MAX_RESULTS,5);

sr2.startListening(intent);

Log.i("111111","11111111");

}

}

回答:

不要用s r2 = SpeechRecognizer.createSpeechRecognizer(this);需要保持只有一个实例所有的时间创建的SpeechRecognozer一个新实例

以上是 错误8在语音识别机器人 的全部内容, 来源链接: utcz.com/qa/262611.html

回到顶部