如何在Android上使用语音search和VoiceRecognition?

我想在我的应用程序中使用VoiceRecognition,但此应用程序需要安装语音search。

我不希望用户必须安装另一个其他应用程序,然后返回到我的应用程序来运行它。 我想从我的应用程序安装语音search,或者我想找一个关于如何将语音searchfunction添加到我的应用程序的教程。

我能做什么?

  • Google语音识别超时
  • JellyBean中的RecognitionListener冻结,如果不立即说话
  • 将Android RecognizerIntent与蓝牙耳机一起使用
  • onServiceConnected从未在bindService方法之后调用
  • 用Hi Galaxy或Ok Google等特定字词唤醒Android手机
  • Android API21:VoiceInteractionService onReady()未被调用
  • Java开源语音识别软件
  • 如何为我的应用程序创build自定义语音操作?
  • 使用RecognizerIntent触发设备上安装的语音识别器

    看到这个链接: 如何使用识别器的意图

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

    1. 在您的活动中创build某种button,并将下面的代码放置在其OnClickListener中:

      //在你的activity中定义MY_REQUEST_CODE为一个int常量…我在10000s startVoiceRecognitionActivity(MY_REQUEST_CODE,“说点什么”)中使用整数。

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

      ArrayList keywordMatches = data.getStringArrayListExtra(RecognizerIntent.EXTRA_RESULTS);

    3. 您可以从识别器中获得0个或多个匹配。 一定要处理所有情况。

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

    Android开源语音识别示例

    这是一个简单的方法来处理语音search

    第1步button单击调用此方法

    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); } } 

    那是所有,完成