Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/193.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android 第一次演讲_Android_Speech - Fatal编程技术网

Android 第一次演讲

Android 第一次演讲,android,speech,Android,Speech,我对Android中的语音识别很感兴趣,但我做不到:它不是连续的。如果你停止说话,它就不会继续,你必须再次点击按钮 我不要这种行为 有人对我如何解决这个问题有什么建议吗 只在第一次识别语音我不希望这种行为 代码如下: private SpeechRecognizer speech; @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanc

我对Android中的语音识别很感兴趣,但我做不到:它不是连续的。如果你停止说话,它就不会继续,你必须再次点击按钮

我不要这种行为

有人对我如何解决这个问题有什么建议吗

只在第一次识别语音我不希望这种行为

代码如下:

    private SpeechRecognizer speech;

    @Override
    public void onCreate(Bundle savedInstanceState)
    {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.main);

    speech = SpeechRecognizer.createSpeechRecognizer(this);
    speech.setRecognitionListener(this);

    Intent intent = new Intent(RecognizerIntent.ACTION_RECOGNIZE_SPEECH);
    intent.putExtra(RecognizerIntent.EXTRA_LANGUAGE_PREFERENCE, "en");
    intent.putExtra(RecognizerIntent.EXTRA_CALLING_PACKAGE,
    this.getPackageName());

    speech.startListening(intent);
    }

     @Override
     public void onBeginningOfSpeech()
     {
     }

        @Override
        public void onBufferReceived(byte[] arg0)
         {
        }

        @Override
        public void onEndOfSpeech()
          {
            }

         @Override
        public void onError(int e)
           {
          }

      @Override
      public void onEvent(int arg0, Bundle arg1)
      {
         }

      @Override
       public void onPartialResults(Bundle arg0)
       {
         }


          public void onReadyForSpeech(Bundle arg0)
         {
           }

         @Override
         public void onResults(Bundle data)
         {
           ArrayList<String> matches = data.getStringArrayList(
           SpeechRecognizer.RESULTS_RECOGNITION);


           }

           @Override
            public void onRmsChanged(float arg0)
             {
           }  
专用语音识别器语音;
@凌驾
创建时的公共void(Bundle savedInstanceState)
{
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
SpeechRecognizer.createSpeechRecognizer(此);
speech.setRecognitionListener(此);
意向意向=新意向(识别意向、行动、识别言语);
intent.putExtra(识别器intent.EXTRA_语言偏好,“en”);
intent.putExtra(识别器intent.EXTRA_调用_包,
这个.getPackageName());
演讲。惊人的倾听(意图);
}
@凌驾
开始时的公共无效fSpeech()
{
}
@凌驾
已接收公共无效onBufferReceived(字节[]arg0)
{
}
@凌驾
公共无效onEndOfSpeech()
{
}
@凌驾
公共无效申报人(int e)
{
}
@凌驾
public void onEvent(int arg0,Bundle arg1)
{
}
@凌驾
public void on PartialResults(捆绑包arg0)
{
}
ReadyForSpeech上的公共无效(捆绑arg0)
{
}
@凌驾
公共结果(捆绑数据)
{
ArrayList matches=data.getStringArrayList(
语音识别器。结果(语音识别);
}
@凌驾
在RMSCHANGED上的公共无效(浮动arg0)
{
}  
尝试再次呼叫

speech.startListening(intent);
关于结果和错误的内部消息