Android的语音识别命令

问题描述:

目标Android的语音识别命令

语音识别开始,语音命令是口头的和正确的行动已经完成。 (播放一些音乐开始任何的音乐播放器应该发生的。)

现状

我有一个测试的应用程序运行的开始Android的语音识别,成功地倾听并返回结果给我的活动。

片段开始语音识别:

Intent intent = new Intent(RecognizerIntent.ACTION_RECOGNIZE_SPEECH); 
intent.putExtra(RecognizerIntent.EXTRA_LANGUAGE_MODEL, RecognizerIntent.LANGUAGE_MODEL_FREE_FORM); 
intent.putExtra(RecognizerIntent.EXTRA_PROMPT, "Speak your mind."); 
startActivityForResult(intent, REQUEST_CODE); 

片段的结果:

protected void onActivityResult(int requestCode, int resultCode, Intent data) { 
    if (requestCode == REQUEST_CODE && resultCode == RESULT_OK) { 
      ArrayList<String> matches = data.getStringArrayListExtra(RecognizerIntent.EXTRA_RESULTS); 
      // matches hold the spoken words 
     } 
     super.onActivityResult(requestCode, resultCode, data); 
    } 

什么是对这个问题的最好方法?

+0

嗯..还有很多,可以在这里取决于你想要走多远,可以说(最终你会希望有一些NLU引擎),但我这样做会让你转向一种黑客,你今天可以看一看代码,以便快速和肮脏地分析命令(这不健壮,但适用于一组有限的命令/语法): https://s3.amazonaws.com/static.echonest.com/talkradio/index.html。 – 2013-02-27 21:15:33

最简单的方法是...

if (matches.contains("close")) 
     { 
      finish(); 
     }