Это показывает полное использование TTS и распознавания речи
https://github.com/gmilette/Say-the-Magic-Word-
Также вам необходимо следующее:
Простой способ сопоставления - использовать этот цикл:
protected void receiveWhatWasHeard(List<String> heard,
)
{
WordDictionary command = new WordDictionary("Add");
for (String said : heard)
{
if (command.isIn(said.split("\\s")))
{
Log.d(TAG, "heard add");
}
}
}
и этот класс:
public class WordDictionary
{
private Set<String> words;
public WordDictionary(String... wordsIn)
{
this(Arrays.asList(wordsIn));
}
public WordDictionary(List<String> wordsIn)
{
words = new LinkedHashSet<String>(wordsIn);
}
public Set<String> getWords()
{
return words;
}
public boolean isIn(String word)
{
return words.contains(word);
}
public boolean isIn(String [] wordsIn)
{
boolean wordIn = false;
for (String word : wordsIn)
{
if (isIn(word))
{
wordIn = true;
break;
}
}
return wordIn;
}
}
И ваша деятельность нуждается в этом:
@Override
protected void
onActivityResult(int requestCode, int resultCode, Intent data)
{
if (requestCode == VOICE_RECOGNITION_REQUEST_CODE)
{
if (resultCode == RESULT_OK)
{
List<String> heard =
data.getStringArrayListExtra(RecognizerIntent.EXTRA_RESULTS);
for (int i = 0; i < heard.size(); i++)
{
Log.d(TAG, i + ": " + heard.get(i));
}
receiveWhatWasHeard(heard);
} else
{
//fail
}
}
super.onActivityResult(requestCode, resultCode, data);
}