我想做一个简单的游戏,它具有PICK,LEFT,Right和Stop的功能。语音文本功能如何与应用程序集成?
我的问题是我想用游戏中的语音功能将这些游戏功能变成语音识别功能。我使用eclipse作为我的IDE,我想知道如何将它与应用程序集成。
希望你能给我一个样本,这将是一个很大的帮助。
我想做一个简单的游戏,它具有PICK,LEFT,Right和Stop的功能。语音文本功能如何与应用程序集成?
我的问题是我想用游戏中的语音功能将这些游戏功能变成语音识别功能。我使用eclipse作为我的IDE,我想知道如何将它与应用程序集成。
希望你能给我一个样本,这将是一个很大的帮助。
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。你需要SpeechRecognizer和一个循环来运行它,比如使用this的那个,或者我想你可以使用对话框版本。无论哪种方式开始使用this abstract class给你一个开始。
对于#2,你必须做一些测试。下载Android Sensor Playground应用程序,查看识别器是否可以可靠识别您的单词。如果是这样,只需使用简单的Sting<Set>
来匹配任何识别结果。 (或者你可以使用this handy class)如果识别器给某些单词带来麻烦,那么你需要一些词干或拼音匹配。见this class。