问题:-当我单击mic按钮并在我的(语音到文本应用程序)上说任何东西时,它的工作便成功地在Edittext Box上写了文本,然后再次单击mic按钮并说了些声音然后写成功了,在Editext框上的上一个文本是“擦除”。
我不知道需要什么代码行伙计们,请帮帮我。
private static final int REQUEST_CODE_SPEECH_INPUT = 1000;
EditText mTextTv;
ImageButton mVoiceBtn;
Spinner spinner;
int currentItem = 0;
private void promptSpeechInput() {
Intent intent = new Intent(RecognizerIntent.ACTION_RECOGNIZE_SPEECH);
intent.putExtra(RecognizerIntent.EXTRA_LANGUAGE_MODEL,
RecognizerIntent.LANGUAGE_MODEL_FREE_FORM);
intent.putExtra(RecognizerIntent.EXTRA_LANGUAGE_PREFERENCE, Locale.getISOLanguages());
intent.putExtra(RecognizerIntent.EXTRA_PROMPT, "Hi Speak Anything");
try {
startActivityForResult(intent, REQUEST_CODE_SPEECH_INPUT);
}
catch (Exception e){
Toast.makeText(this, ""+e.getMessage(), Toast.LENGTH_SHORT).show();
}
}
@Override
protected void onActivityResult (int requestCode, int resultCode, @Nullable Intent data){
super.onActivityResult(requestCode, resultCode, data);
if (requestCode == REQUEST_CODE_SPEECH_INPUT) {
if (resultCode == RESULT_OK && null != data) {
ArrayList<String> result = data.getStringArrayListExtra(RecognizerIntent.EXTRA_RESULTS);
mTextTv.setText(result.get(0));
}
}
}
}