没有默认的语音识别 Activity/Intent
Speech Recognition without default Activity/Intent
我目前正在使用以下代码在 phone 上获取语音:
Intent intent = new Intent( RecognizerIntent.ACTION_RECOGNIZE_SPEECH );
intent.putExtra( RecognizerIntent.EXTRA_LANGUAGE, Locale.getDefault() );
intent.putExtra( RecognizerIntent.EXTRA_LANGUAGE_MODEL, RecognizerIntent.LANGUAGE_MODEL_FREE_FORM );
intent.putExtra( RecognizerIntent.EXTRA_PROMPT, "Say something..." );
try
{
startActivityForResult( intent, RESULT_SPEECH );
}
除了我希望能够使用我自己的屏幕获得语音外,这非常有效。上面的代码显示了某种默认的 Android activity。我想做的是显示我自己的 activity 和搜索结果列表,并能够拼出字母,直到我匹配我想要的。
例如:
- 按一个按钮启用语音采集
- 获得一个字母,说"S"
- 获取另一个字母,说"T"
- 我会显示搜索结果列表,例如 [ST]ar Wars
如何在不使用 default/system activity 的情况下获取语音,以便我可以在自己的屏幕上执行此操作?
找到方法了。 This post 是朝着正确方向迈出的重要一步。
我只需要实施 RecognitionListener
。
我目前正在使用以下代码在 phone 上获取语音:
Intent intent = new Intent( RecognizerIntent.ACTION_RECOGNIZE_SPEECH );
intent.putExtra( RecognizerIntent.EXTRA_LANGUAGE, Locale.getDefault() );
intent.putExtra( RecognizerIntent.EXTRA_LANGUAGE_MODEL, RecognizerIntent.LANGUAGE_MODEL_FREE_FORM );
intent.putExtra( RecognizerIntent.EXTRA_PROMPT, "Say something..." );
try
{
startActivityForResult( intent, RESULT_SPEECH );
}
除了我希望能够使用我自己的屏幕获得语音外,这非常有效。上面的代码显示了某种默认的 Android activity。我想做的是显示我自己的 activity 和搜索结果列表,并能够拼出字母,直到我匹配我想要的。
例如:
- 按一个按钮启用语音采集
- 获得一个字母,说"S"
- 获取另一个字母,说"T"
- 我会显示搜索结果列表,例如 [ST]ar Wars
如何在不使用 default/system activity 的情况下获取语音,以便我可以在自己的屏幕上执行此操作?
找到方法了。 This post 是朝着正确方向迈出的重要一步。
我只需要实施 RecognitionListener
。