如何在Android停止讲话后自动停止录制语音?

时间:2017-02-08 02:42:22

标签: android speech-to-text avspeechsynthesizer

我是android的新手,并尝试使用语音到文本构建一个Android应用程序。我正在关注教程http://www.androidhive.info/2014/07/android-speech-to-text-tutorial/

当我点击麦克风按钮时,它开始录制但仅在20秒后停止并且不会像在Google即时中那样停止。我怎样才能做到这一点?

语音录制部分是:

private void promptSpeechInput() {
  Intent intent = new Intent(RecognizerIntent.ACTION_RECOGNIZE_SPEECH);
  intent.putExtra(RecognizerIntent.EXTRA_LANGUAGE_MODEL,
            RecognizerIntent.LANGUAGE_MODEL_FREE_FORM);
  intent.putExtra(RecognizerIntent.EXTRA_LANGUAGE, Locale.getDefault());
  intent.putExtra(RecognizerIntent.EXTRA_PROMPT,
            getString(R.string.speech_prompt));
  try {
    startActivityForResult(intent, REQ_CODE_SPEECH_INPUT);
  } catch (ActivityNotFoundException a) {
    Toast.makeText(getApplicationContext(),
                getString(R.string.speech_not_supported),
                Toast.LENGTH_SHORT).show();
  }
}

1 个答案:

答案 0 :(得分:1)

尝试将EXTRA_SPEECH_INPUT_COMPLETE_SILENCE_LENGTH_MILLIS添加到意图中。这表示需要多少毫秒的静音才能使输入完成。