protected void onActivityResult(int requestCode, int resultCode, Intent data) {
super.onActivityResult(requestCode, resultCode, data);
switch (requestCode) {
case REQ_CODE_SPEECH_INPUT: {
if (resultCode == RESULT_OK && null != data) {
ArrayList<String> result = data.getStringArrayListExtra(RecognizerIntent.EXTRA_RESULTS);
k = 0;
for(int i=0;i<result.size();i++){
if(result.get(i).contains("X")) {
k+=1;
}
}
tv.setText(result.toString()+","+k);
if(tv.getText()!=null){
if(k>0)
tts.speak("bought 2 bananas",TextToSpeech.QUEUE_FLUSH,null);
}
}
break;
}
}
}
我尝试做了一些事情,文字的演讲工作正常。我现在从谷歌获得所有的可能性,但当我想要它说并做相应的事情(实际上创建一个命令) 它没有用。
k表示单词&#34; X&#34; (它用另一种语言,这就是为什么我把X而不是单词。)存在于结果ArrayList中。 如果k大于0,我希望动作发生。
希望它可以理解。