0

我想做一个简单的游戏,它具有PICK、LEFT、Right和停止的功能。

我的问题是我想使用android的语音到文本功能将游戏的这些功能变成语音识别。我使用 eclipse 作为我的 IDE,我想知道如何将它与应用程序集成。

希望你能给我一个样品,这将是一个很大的帮助。

4

2 回答 2

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);
}
于 2012-12-09T15:18:24.277 回答
0

那么你需要两件事。

  1. 在后台运行语音识别器,这样就不会有干扰游戏的烦人对话

  2. 可靠地识别您的目标词

对于#1。您需要SpeechRecognizer和一个循环来运行它,例如使用this的循环,或者我想您可以使用对话版本。无论哪种方式开始使用这个抽象类给你一个良好的开端。

对于#2,您必须进行一些测试。下载Android Sensor Playground应用程序,看看识别器是否能够可靠地识别您的单词。如果这是真的,只需使用一个简单Sting<Set>的来匹配任何识别结果。(或者你可以使用这个方便的类)如果识别器在某些单词上给你带来麻烦,那么你需要一些词干或语音匹配。看这堂课

于 2012-12-11T11:14:16.600 回答