9

I want to use VoiceRecognition in my application, but this application needs to install voice search.

I don't want the user to have to install another other application then return to my application to run it. I want voice search to be installed from my application, or alternatively I'd like to find a tutorial to on how to add Voice Search capability to my application.

What can I do?

4

5 回答 5

5

使用 RecognizerIntent 触发安装在设备上的语音识别器

于 2012-04-15T13:25:27.607 回答
0

Android 开源语音识别示例

于 2012-04-15T13:33:29.093 回答
0

这可以通过几个简单的步骤来完成:

  1. 在您的活动中创建某种按钮,并将以下代码放在其 OnClickListener 中:

    // 将 MY_REQUEST_CODE 定义为您的活动中的 int 常量...我在 10000 秒中使用 int startVoiceRecognitionActivity(MY_REQUEST_CODE, "Say something.");

  2. 覆盖活动中的 onActivityResult() 方法。在实现中,当 requestCode 参数与您的 MY_REQUEST_CODE 常量匹配时,放置一个 switch 块或 if 语句来运行一些逻辑。类似于以下的逻辑将为您提供语音识别活动认为它听到的结果列表:

    ArrayList 关键字匹配 = data.getStringArrayListExtra(RecognizerIntent.EXTRA_RESULTS);

  3. 您可能会从识别器中获得 0 个或多个匹配项。务必处理所有情况。

  4. 在某些情况下,语音识别器甚至可能不在设备上。尝试在调用 startVoiceRecognitionActivity() 的地方处理。

于 2011-04-25T19:03:43.107 回答
0

我找到了这个教程:

http://www.jameselsey.co.uk/blogs/techblog/android-how-to-implement-voice-recognition-a-nice-easy-tutorial/

希望这可以帮助。

于 2011-07-06T08:48:50.060 回答
0

这是处理语音搜索的简单方法

第 1 步在按钮单击时调用此方法

public void startVoiceRecognition() {
    Intent intent = new Intent("android.speech.action.RECOGNIZE_SPEECH");
    intent.putExtra("android.speech.extra.LANGUAGE_MODEL", "free_form");
    intent.putExtra("android.speech.extra.PROMPT", "Speak Now");
    this.mContainerActivity.startActivityForResult(intent, 3012);
}

步骤 2覆盖 onActivityResult 方法

@ Override
public void onActivityResult(int requestCode, int resultCode, Intent data) {
    if (requestCode == 3012 && resultCode == RESULT_OK) {
        ArrayList < String > matches = data.getStringArrayListExtra("android.speech.extra.RESULTS");
        String result= matches.get(0);
        //Consume result 
        edittext.setText(result);
    }
}

就是这样,完成

于 2017-02-13T19:02:44.517 回答