2013-02-27 96 views
1

目標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

回答

1

最簡單的方法是...

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