其他分享
首页 > 其他分享> > Google语音识别器无法在Android 4.x上启动

Google语音识别器无法在Android 4.x上启动

作者:互联网

我偶然发现了这个随机问题…
这是我的代码

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中已修复,在这种情况下,最好知道这些变体在哪里出现,以便在我们的代码中正常处理它们!

标签:speech-recognition,android
来源: https://codeday.me/bug/20191123/2064601.html