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);
}
什么是对这个问题的最好方法?
答
最简单的方法是...
if (matches.contains("close"))
{
finish();
}
嗯..还有很多,可以在这里取决于你想要走多远,可以说(最终你会希望有一些NLU引擎),但我这样做会让你转向一种黑客,你今天可以看一看代码,以便快速和肮脏地分析命令(这不健壮,但适用于一组有限的命令/语法): https://s3.amazonaws.com/static.echonest.com/talkradio/index.html。 – 2013-02-27 21:15:33