我偶然发现了这个随机问题…
这是我的代码
mSpeechRecognizer = SpeechRecognizer.createSpeechRecognizer(mContext); initializeRecognitionListener(); mSpeechRecognizer.setRecognitionListener(mRecognitionListener); Intent intent = new Intent(RecognizerIntent.ACTION_RECOGNIZE_SPEECH); intent.putExtra(RecognizerIntent.EXTRA_LANGUAGE_MODEL, RecognizerIntent.LANGUAGE_MODEL_FREE_FORM); intent.putExtra(RecognizerIntent.EXTRA_CALliNG_PACKAGE, getClass().getPackage().getname()); intent.putExtra(RecognizerIntent.EXTRA_LANGUAGE, "en-US"); intent.putExtra(RecognizerIntent.EXTRA_SPEECH_input_COMPLETE_SILENCE_LENGTH_MILliS, Long.valueOf(3000L)); intent.putExtra(RecognizerIntent.EXTRA_MAX_RESulTS, 5); mSpeechRecognizer.startListening(intent);
方法initializeRecognitionListener():
private voID initializeRecognitionListener() { mRecognitionListener = new RecognitionListener() { @OverrIDe public voID onReadyForSpeech(Bundle params) { Log.d("onReadyForSpeech()", "onReadyForSpeech!"); isRecognizing = true; } @OverrIDe public voID onBeginningOfSpeech() { Log.d("onBeginningOfSpeech()", "onBeginningOfSpeech!"); } @OverrIDe public voID onEndOfSpeech() { Log.e("onEndOfSpeech()", "onEndOfSpeech! stop SCO"); } ... }
在mSpeechRecognizer.startListening(intent)之后,有时不会调用“ onReadyForSpeech()”和“ onBeginningOfSpeech()”方法的主要问题.同样也不能调用“ onEndOfSpeech()”.
我将Nexus 4与AndroID 4.2.2结合使用
解决方法:
我在另一篇文章中发表了非常相似的答案:
这是一个Google语音搜索/果冻Bean错误,已存在outstanding on the AOSP bug tracker for nearly a year.
我也张贴了Google Product Forum about it here,但没有回应.如果您正在阅读本文档,并希望解决这些问题,请给AOSP问题加注星标,并在“产品论坛”上发表评论以引起注意!
要变通解决此问题,您将需要实现such as the one demonstrated here.
在今天的测试中,看来Google最新版本确实在内部解决了此问题-因此,请在Play商店中更新Google搜索,此问题可能会消失-如果情况并非如此,请在下面做评论,因为它可能仅在某些版本的Google搜索apk中已修复,在这种情况下,最好知道这些变体在哪里出现,以便在我们的代码中正常处理它们!
总结以上是内存溢出为你收集整理的Google语音识别器无法在Android 4.x上启动全部内容,希望文章能够帮你解决Google语音识别器无法在Android 4.x上启动所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)