如何将SpeechRecognizer的每个值添加到EditText? 我的意思是,下次调用edittext之前的editext值删除后,您可以使用语音识别器时,仅保留最后一个调用值。
答案 0 :(得分:0)
它有几种实现方式,一种最简单的实现方式如下。
public void promptspeech(){
Intent i=new Intent(RecognizerIntent.ACTION_RECOGNIZE_SPEECH);
i.putExtra(RecognizerIntent.EXTRA_LANGUAGE_MODEL,RecognizerIntent.LANGUAGE_MODEL_FREE_FORM);
i.putExtra(RecognizerIntent.EXTRA_LANGUAGE, Locale.getDefault());
i.putExtra(RecognizerIntent.EXTRA_PROMPT,"Say Something!");
try {
startActivityForResult(i,VOICE_RESULT );
}
catch(ActivityNotFoundException a){
Toast.makeText(this,"Sorry! Your device does not support speech Language", Toast.LENGTH_LONG).show();
}
}
我已将语言设置为移动设备中设置的默认值。 您可以通过覆盖 onActivityResult 方法来获取结果。
将以下代码行添加到onActivityResult方法
if(requestCode ==VOICE_RESULT && resultCode==RESULT_OK){
List<String> result=data.getStringArrayListExtra(RecognizerIntent.EXTRA_RESULTS);
editTextRemarks.setText(result.get(0));
}
根据需要自定义代码。希望这有助于完成工作。