0

在我的应用程序中,我使用RecognizerIntent进行Android Speech to Text(以及Speech to Text功能对我来说工作正常),使用简单的麦克风Image按钮,它将初始化Speech文本(以下是代码片段)如何在Android语音识别中使用Siri like Mic按钮

 btnSpeak.setOnClickListener(new View.OnClickListener() { 

     @Override 
     public void onClick(View v) { 
      intent = new Intent(RecognizerIntent.ACTION_RECOGNIZE_SPEECH); 
      intent.putExtra(RecognizerIntent.EXTRA_LANGUAGE_MODEL, 
        RecognizerIntent.LANGUAGE_MODEL_FREE_FORM); 
      sr.startListening(intent); 
      // btnSpeak.setClickable(false); 
      // promptSpeechInput(); 
     } 
    }); 

但我只是想知道我可以使用Siri的或Skyvi如麦克风按钮,在我的应用程序,所以,这将有助于最终用户确定演讲的当前状态,以文本引擎(无论是在收听还是停止收听),而且我没有使用任何提示窗口询问用户“现在讲话”。

回答

0

提高ACTION_RECOGNIZE_SPEECH类型的意图:

Intent intent = new Intent(RecognizerIntent.ACTION_RECOGNIZE_SPEECH); 

intent.putExtra(RecognizerIntent.EXTRA_LANGUAGE_MODEL, RecognizerIntent.LANGUAGE_MODEL_FREE_FORM); 
intent.putExtra(RecognizerIntent.EXTRA_PROMPT, "Speak now"); 

SearchActivity.this.startActivityForResult(intent, VOICE_RECOGNITION_CODE); 
+0

这将打开一个提示窗口,但我怎么能做到同样的事情,而不EXTRA_PROMPT消息?我是否需要更改麦克风图标onBeginningOfSpeech并完成? –

+1

“_(...)使用SpeechRecognizer接口,你的应用程序需要有RECORD_AUDIO权限,然后你可以创建一个SpeechRecognizer,给它一个RecognitionListener,然后调用它的startListening方法。语音识别器已准备好开始收听语音,并接收语音并将其转换为文本... _“ 检出此主题http://stackoverflow.com/a/6317055/2068693 –

+0

对不起,如果我的问题不是对你清楚。 我在Speech to Text功能中没有问题..它对我来说工作正常..但我只是想知道如何在我的应用程序中使用Siri或Skyvi像Microphone按钮,以便它可以帮助最终用户确定当前状态语音引擎到文本引擎(无论是正在收听还是停止收听),并且我没有使用任何提示窗口询问用户“现在讲话”。 –