如何将语音到文本功能与应用程序集成?

时间:2012-12-09 15:07:12

标签: android speech-recognition speech-to-text

我想制作一款具有PICK,LEFT,Right和stop功能的简单游戏。

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

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

2 个答案:

答案 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. 在后台运行语音识别器,这样就没有讨厌的对话干扰游戏

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

  3. #1。您需要SpeechRecognizer和一个循环来运行它,例如使用this的循环,或者我猜您可以使用对话框版本。无论哪种方式,都可以使用this abstract class开始,为您提供一个良好的开端。

    对于#2,你必须做一些测试。下载Android Sensor Playground应用以查看识别器是否可以可靠地识别您的字词。如果是这样,只需使用简单的Sting<Set>来匹配任何识别结果。 (或者您可以使用this handy class)如果识别器在某些单词上给您带来麻烦,那么您需要一些词干或语音匹配。请参阅this class