Android语音识别器

时间:2018-11-07 03:14:51

标签: android android-studio

如何将SpeechRecognizer的每个值添加到EditText? 我的意思是,下次调用edittext之前的editext值删除后,您可以使用语音识别器时,仅保留最后一个调用值。

1 个答案:

答案 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));
 }

根据需要自定义代码。希望这有助于完成工作。