12

我已经查看了 VoiceRecognition 的 Android 示例,但我真的不明白它应该做什么或它是如何工作的。在清单中没有任何类型的主要活动要运行,所以当我在手机上安装应用程序时,我无法运行它。

我还试图找到一个简单的语音转文本示例,它将语音作为输入并在屏幕上输出文本。只是这样我就可以研究它以了解它是如何工作的,但是我无法在网络上找到任何显示它的示例。

4

1 回答 1

12

我是这样做的:

在 onCreate 中:

List<ResolveInfo> activities = pm.queryIntentActivities(new Intent(RecognizerIntent.ACTION_RECOGNIZE_SPEECH), 0);

在启动语音识别的方法中:

Intent intent = new Intent(RecognizerIntent.ACTION_RECOGNIZE_SPEECH);
intent.putExtra(RecognizerIntent.EXTRA_LANGUAGE_MODEL, RecognizerIntent.LANGUAGE_MODEL_FREE_FORM);
intent.putExtra(RecognizerIntent.EXTRA_PROMPT, "Voice recognition Demo...");
startActivityForResult(intent, REQUEST_CODE);

活动结果:

protected void onActivityResult(int requestCode, int resultCode, Intent data)
{
    if (requestCode == REQUEST_CODE && resultCode == RESULT_OK)
    {
        // Populate the wordsList with the String values the recognition engine thought it heard
        ArrayList<String> matches = data.getStringArrayListExtra(RecognizerIntent.EXTRA_RESULTS);
    }
}

希望我没有错过任何东西,已经有一段时间了。如果有什么不起作用,请给我留言。关于文本输出:我相信一旦你有一个填充的匹配数组,你就可以处理它。

于 2012-08-03T06:30:10.443 回答