gpt4 book ai didi

Android 在进行语音识别时录制音频

转载 作者:塔克拉玛干 更新时间:2023-11-02 22:35:43 37 4
gpt4 key购买 nike

我在 Android 上使用第三方云服务进行语音识别,它与 Android API SpeechRecognizer 配合得很好。代码如下:

    Intent recognizerIntent =
new Intent(RecognizerIntent.ACTION_RECOGNIZE_SPEECH);
recognizerIntent.putExtra(RecognizerIntent.EXTRA_LANGUAGE_MODEL,
RecognizerIntent.LANGUAGE_MODEL_WEB_SEARCH);

// accept partial results if they come
recognizerIntent.putExtra(RecognizerIntent.EXTRA_PARTIAL_RESULTS, true);

//need to have a calling package for it to work
if (!recognizerIntent.hasExtra(RecognizerIntent.EXTRA_CALLING_PACKAGE)) {
recognizerIntent.putExtra(RecognizerIntent.EXTRA_CALLING_PACKAGE, "com.example.speechrecognition");
}
recognizer = SpeechRecognizer.createSpeechRecognizer(context);
recognizer.setRecognitionListener(this);
recognizer.startListening(recognizerIntent);

同时,我想录制不同音频设置的音频,比如频率、 channel 、音频格式等。然后我会不断地分析这个音频缓冲区。我为此目的使用 AudioRecord。只有我关闭语音识别,这才有效。

如果我同时录制音频和语音识别,则会发生错误。

E/AudioRecord: start() status -38

如何实现这种功能,我也试过native audio - SLRecordItf,也不行。

最佳答案

如评论所述,一次只允许/可能访问一个麦克风。

对于SpeechRecognizerRecognitionListener回调为 onBufferReceived(byte[] buffer)但不幸的是,谷歌的本地识别服务不为此提供任何音频数据,这非常令人沮丧。

您唯一的选择是使用外部服务,这不是免费的。谷歌新Cloud Speech API有一个 Android example .

关于Android 在进行语音识别时录制音频,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39765018/

37 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com