我已经查看了 VoiceRecognition 的 Android 示例,但我真的不明白它应该做什么或它是如何工作的。在清单中没有任何类型的主要活动要运行,所以当我在手机上安装应用程序时,我无法运行它。
我还试图找到一个简单的语音转文本示例,它将语音作为输入并在屏幕上输出文本。只是这样我就可以研究它以了解它是如何工作的,但是我无法在网络上找到任何显示它的示例。
我已经查看了 VoiceRecognition 的 Android 示例,但我真的不明白它应该做什么或它是如何工作的。在清单中没有任何类型的主要活动要运行,所以当我在手机上安装应用程序时,我无法运行它。
我还试图找到一个简单的语音转文本示例,它将语音作为输入并在屏幕上输出文本。只是这样我就可以研究它以了解它是如何工作的,但是我无法在网络上找到任何显示它的示例。
我是这样做的:
在 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);
}
}
希望我没有错过任何东西,已经有一段时间了。如果有什么不起作用,请给我留言。关于文本输出:我相信一旦你有一个填充的匹配数组,你就可以处理它。