我想制作一款具有PICK,LEFT,Right和stop功能的简单游戏。
我的问题是我希望使用android的语音到文本功能将游戏的这些功能变成语音识别。我正在使用eclipse作为我的IDE,我想知道如何将它与应用程序集成。
希望你能给我一个样品,这将是一个很大的帮助。
答案 0 :(得分:1)
Intent i = new Intent(
RecognizerIntent.ACTION_RECOGNIZE_SPEECH);
i.putExtra(RecognizerIntent.EXTRA_LANGUAGE_MODEL,
RecognizerIntent.LANGUAGE_MODEL_FREE_FORM);
i.putExtra(RecognizerIntent.EXTRA_PROMPT, "Say the command!");
startActivityForResult(i, 10);
然后添加活动结果。
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
if (requestCode == 10 && resultCode == RESULT_OK) {
ArrayList<String> s = data
.getStringArrayListExtra(RecognizerIntent.EXTRA_RESULTS);
//Do whatever you want with the data here.
super.onActivityResult(requestCode, resultCode, data);
}
答案 1 :(得分:0)
你需要两件事。
在后台运行语音识别器,这样就没有讨厌的对话干扰游戏
可靠地识别您的目标词语
#1。您需要SpeechRecognizer和一个循环来运行它,例如使用this的循环,或者我猜您可以使用对话框版本。无论哪种方式,都可以使用this abstract class开始,为您提供一个良好的开端。
对于#2,你必须做一些测试。下载Android Sensor Playground应用以查看识别器是否可以可靠地识别您的字词。如果是这样,只需使用简单的Sting<Set>
来匹配任何识别结果。 (或者您可以使用this handy class)如果识别器在某些单词上给您带来麻烦,那么您需要一些词干或语音匹配。请参阅this class。