SpeechRecognizer在Android中录制音频

时间:2016-09-14 12:10:26

标签: android audio speech-recognition voice-recognition speech

我想创建一个语音识别器应用程序来转录用户的语音。 在执行此操作时我不想要任何对话,因此startActivityForResult with recognizerIntent不可用。 (我知道如果我使用这种方法,我可以获得音频)

我正在使用SpeechRecognizer并致电startListening来收听用户的音频。我在onResults中获得的结果非常准确。

现在,我还需要在我的设备中存储在SD卡中的用户的音频。为此,我尝试了MediaRecorderAudioRecord,但没有取得任何成功。我始终在onErrorRecognitionListener中收到网络错误。无论如何我无法找到如何克服这个问题。我也试图从onBufferReceived获取数据,但是徒劳无功。

如果有人可以对此有所了解,那就太棒了。

[编辑]

伙计们,这不是record/save audio from voice recognition intent的副本,它略有不同。您给出的答案是Google Keep。继续使用对话框来获取数据。我不需要在屏幕上悬挂对话框。

1 个答案:

答案 0 :(得分:0)

我在CLOUD SPEECH API的帮助下成功完成了这项工作。  你可以通过google speech找到它的演示。

  

API可识别80多种语言和变体,以支持您的   全球用户群。您可以将用户指示的文本转录为   应用程序的麦克风,通过语音启用命令和控制,或   转录音频文件,以及许多其他用例。识别音频   上传到请求中,并与您的音频存储集成   谷歌云存储,采用与谷歌相同的技术   为自己的产品提供动力。

它使用音频缓冲区借助Google Speech API转录数据。我使用此缓冲区在AudioRecorder的帮助下存储音频录制。

因此,通过此演示,我们可以与音频录制并行转录用户的语音。