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按鈕,以便它可以幫助最終用戶確定當前狀態語音引擎到文本引擎(無論是正在收聽還是停止收聽),並且我沒有使用任何提示窗口詢問用戶「現在講話」。 –