TTS - CHECK_VOICE_DATA_FAIL - Sprawdź dostępność silnika

Mam dziwny problem z silnikiem TTS i nie mogę zrozumieć, dlaczego / gdzie jest mój błąd. Szuka rozwiązania przez wiele godzin, ale bez żadnego wymienialnego wyniku.

Kiedy używam tegoKod demo API wszystko działa dobrze i słyszę głos wszystkich zainstalowanych języków.

Ale kiedy sprawdzamTa metoda Otrzymuję CHECK_VOICE_DATA_FAIL jako kod powrotu dla niestandardowych silników TTS (których potrzebuję dla wszystkich niezbędnych języków, Google google nie wystarcza).

Czego mi tu brakuje? Jak mogę sprawdzić dostępność silników TTS? Wiem, że niekoniecznie jest to problem z kodem, ale dla innych Programów wydaje się to działać.

Zainstalowałem kilka innych aplikacji zWitryna SVox i wydają się działać na wszystkich moich urządzeniach, podczas gdy poniższy kod nie działa.

Jako przykład,TalkToMeClassic sprawdza dostępność silnika i działa.

Co tu się dzieje inaczej?

Oto mój kod dostępu (który jest kopią artykułu):

@Override
public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    Intent checkIntent = new Intent();
    checkIntent.setAction(TextToSpeech.Engine.ACTION_CHECK_TTS_DATA);
    startActivityForResult(checkIntent, 0x99);
}

@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
    if (requestCode == 0x99) {
        if (resultCode == TextToSpeech.Engine.CHECK_VOICE_DATA_PASS) {
            // success, create the TTS instance
            mTts = new TextToSpeech(this, this);
        } else {
            Log.e("TTS","Missing Data:" + resultCode );
            // missing data, install it
            Intent installIntent = new Intent();
            installIntent.setAction(
                TextToSpeech.Engine.ACTION_INSTALL_TTS_DATA);
            startActivity(installIntent);
        }
    }
}

questionAnswers(1)

yourAnswerToTheQuestion