2011-03-09 109 views
5

我有一个Android应用程序,可在应用程序启动时从麦克风开始录制。在我目前的版本中,用户必须按下STOP按钮停止录制。Android:如何检测用户何时停止与麦克风讲话

如何检测到用户已经停止通话并使用它来触发录音机停止?

与Android中的语音识别功能类似。用户停止讲话,然后讲话被翻译。我见过其他的应用程序,像Talking Tom类型的应用程序。

作为一个侧面说明,我也很想展示一些类型的视觉表明麦克风正在接收声音。东西来显示声音水平进来。

任何帮助表示赞赏。

回答

0

你用什么来录制音频?这可以提供一些线索:

android.media.MediaRecorder:

  • 恒定MEDIA_RECORDER_INFO_MAX_DURATION_REACHED可以与onInfoListener使用。

android.speech.SpeechRecognizer:

  • 附加RecognitionListener并调用onEndofSpeech()。
+0

我使用MediaRecorder记录。我无法使用SpeechRecognizer,因为我需要保存音频文件。我无法从SpeechRecognizer中找到保存音频的方法,也无法将MediaRecorder和SpeechRecognizer同时连接到麦克风。 我会检查出MEDIA_RECORDER_INFO_MAX_DURATION_REACHED – Doug 2011-03-09 16:36:53

+0

它看起来好像其他人也想识别保存的音频文件中的语音:http://stackoverflow.com/questions/2319735/voice-recognition-on-android-with-recorded-sound- clip 如果您不需要相同的语音,则可以转换speechrecognizer的响应,然后记录文本的TextToSpeech输出。虽然这些似乎是不必要的复杂,可能很容易出现抄写错误。 – Ian 2011-03-09 17:28:25

+0

我也看到了这个线程。其实,我想要的是相反的。我想使用Google的STT引擎,并获取文本转录,并保存用户说话的音频。那么,不是相反的,而是一个不同的顺序。虽然不能这样做。 – Doug 2011-03-09 17:34:41