2017-03-23 93 views
1

私はSpeechRecognizerを使用しています。 SpeechRecognizerがエラーSpeechRecognizer.ERROR_NETWORKまたはSpeechRecognizer.ERROR_SERVERをスローします。AndroidのオフラインSpeechRecognizerが機能しない

これは私のRecognizerIntent

final Intent recognizerIntent; 
    recognizerIntent = new Intent(RecognizerIntent.ACTION_RECOGNIZE_SPEECH); 
    recognizerIntent.putExtra(RecognizerIntent.EXTRA_LANGUAGE_PREFERENCE, "en"); 
    recognizerIntent.putExtra(RecognizerIntent.EXTRA_CALLING_PACKAGE, this.getPackageName()); 
    recognizerIntent.putExtra(RecognizerIntent.EXTRA_LANGUAGE_MODEL, RecognizerIntent.LANGUAGE_MODEL_FREE_FORM); 
    recognizerIntent.putExtra(RecognizerIntent.EXTRA_MAX_RESULTS, 5); 
    recognizerIntent.putExtra(RecognizerIntent.EXTRA_PARTIAL_RESULTS, true); 

    recognizerIntent.putExtra(RecognizerIntent.EXTRA_PREFER_OFFLINE, true); 

であると私はrecognizerIntent.putExtra(RecognizerIntent.EXTRA_PREFER_OFFLINE, true);

しかし、運を置きます。再び同じエラーが発生します。

この2つのエラーが頻繁に発生しました。

  • SpeechRecognizer.ERROR_NO_MATCH
  • SpeechRecognizer.ERROR_RECOGNIZER_BUSY

    1. 私を助けてください。

    答えて

    0

    まず、デバイスにEXTRA_LANGUAGE_PREFERENCEをインストールした言語のオフラインパッケージがあるかどうかを確認する必要があります。

    下記の手順、サポートされているデバイスでオフライン音声入力を有効にするには:

    • ゴー設定
    • に「言語と入力」
    • オンスクリーンキーボード
    • 上をクリックして、Googleの音声入力を選択します
    • オフライン音声認識を選択する
    • 希望言語をインストールする
    • (私のためにトリックをした)例えば

    それはまだオフラインで動作しない場合は、より具体的なものにあなたのEXTRA_LANGUAGE_PREFERENCE値を変更しようと、"en-US"

    そしてまた、あなたがSpeechRecognizerウィッヒ言語を伝えたい場合それは

    を助けることを願って、私はあなたの代わりに EXTRA_LANGUAGE_PREFERENCE

    EXTRA_LANGUAGEパラメータを使用する必要がありますね、認識すべきです

    関連する問題