jjzjj

RecognitionListener

全部标签

android - 处理 RecognitionListener 错误

我正在使用Android的语音API不断获取用户的输入。但是,当发生错误时,这并不能很好地工作。我所做的是在检测到错误的方法中重新启动监听器。它有时会工作,但识别器经常挂起一段时间。特别是在检测到服务器、网络超时和识别器忙错误之后。这很烦人!我找到了一些解决这个问题的尝试,但没有一个对我有用。你有更好的主意吗?这是我的代码:privatevoidstartSR(){intent=newIntent(RecognizerIntent.ACTION_RECOGNIZE_SPEECH);//intent.putExtra(RecognizerIntent.,value)intent.putE

android - RecognitionListener出现ERROR_RECOGNIZER_BUSY错误后如何重新开始监听

我正在改进一个使用RecognitionListener类来收听用户语音的Android应用程序,这里我得到以下结果:1-)如果用户点击麦克风图标并说了些什么,一切都很好2-)如果用户点击麦克风图标并再次点击麦克风图标或什么也没说,我会收到onerror,错误类型为:ERROR_RECOGNIZER_BUSY@OverridepublicvoidonError(interror){if((error==SpeechRecognizer.ERROR_NO_MATCH)||(error==SpeechRecognizer.ERROR_SPEECH_TIMEOUT)){}elseif(ERR

android - 多次使用相同的错误代码调用 onError 的 RecognitionListener 回调

使用RecognitionListener接口(interface)我正在实现语音识别。该接口(interface)能够实现回调,例如:publicvoidonError(interror){}除一个主要问题外,它工作得很好。onError的回调被多次调用,错误代码相同。例如ERROR_CLIENT或ERROR_NO_MATCH。我看到相同的方法至少两次获得具有相同错误代码的回调。错过了什么?还是谷歌语音识别API中的错误? 最佳答案 我找到的解决此问题的方法是在SpeechRecognizer上调用destroy。因此,如果您使用

android - 如果不立即与 JellyBean 中的 RecognitionListener 通话,则会卡住

我正在开发的一款基于语音识别的应用程序适用于从API8(Android2.2)开始的所有Android版本。但在NexusS4G(Android4.1.1)上,RecognitionListener将简单地暂停大约1分钟,然后通过其onError()发出ERROR_SERVER。回调。如果在1-2秒内(onReadyForSpeech哔声)说话,它将按预期正常运行。JellyBean中的哪些变化可以解释这种行为?更重要的是,有没有办法让它像在旧版本的Android中一样运行?(即继续收听,如果在默认的10秒内没有说话,则发出ERROR_SPEECH_TIMEOUT)

android - RecognitionListener.onReadyForSpeech() 中的 DTMF 音被误认为是语音

从您通过startActivityForResult()调用它到它的对话框显示准备好接受您的演讲,Google语音搜索会出现明显的延迟。这要求用户在说话之前始终看着屏幕,等待对话框显示。所以我正在考虑通过实现RecognitionListener并在onReadyForSpeech()中发出DTMF音调来生成声音信号而不是对话框,如下面的代码fragment所示:@OverridepublicvoidonReadyForSpeech(Bundleparams){Log.d(LCTAG,"Calledwhentheendpointerisreadyfortheusertostartspe

android - RecognitionListener.onError() 是否自动 SpeechRecognizer.cancel()?

出于各种原因,我需要使用原始的SpeechRecognizerAPI而不是更简单的RecognizerIntent(RECOGNIZE_SPEECH)activity.这意味着,除其他外,我需要自己处理RecognitionListener.onError()。针对一些错误,我只是想重新开始听。这看起来很简单,但是当我只是在出错时调用SpeechRecognizer.startListening()时,这有时似乎会触发两个不同的错误:ERROR/ServerConnectorImpl(619):Previoussessionnotdestroyed和"concurrentstartLi

android - 为什么 RecognitionListener 在 JellyBean 中停止工作?

对于所有使用Android的人voicerecognitionAPI,曾经有一个方便的RecognitionListener您可以注册将各种事件推送到您的回调。特别是,有以下onBufferReceived(byte[])方法:publicabstractvoidonBufferReceived(byte[]buffer)Since:APILevel8Moresoundhasbeenreceived.Thepurposeofthisfunctionistoallowgivingfeedbacktotheuserregardingthecapturedaudio.Thereisnogua

java - Android在实现RecognitionListener时获取Intent

如thisanswerbyIftah中所述我可以通过从Intent中获取Uri来获取android中语音识别记录的音频:@OverridepublicvoidonActivityResult(intrequestCode,intresultCode,Intentdata){//therecordingurlisingetData:UriaudioUri=data.getData();}这里的Intentdata正是我想要的,没有问题。这一切都完美无缺,但是该解决方案会提示用户何时说话,我不希望这样做,所以我让我的Activity实现RecognitionListener:publicc