2010-12-02 8 views
2

Je joue avec la synthèse vocale pour rendre mon test de test un peu plus amusant. Cela fonctionne dans l'émulateur mais pas sur mon téléphone puisque mon paramètre par défaut n'est pas l'anglais.android, text to speech

Cependant, les textes sont en anglais, donc les tts devraient bien sûr utiliser l'anglais. Pour autant que je sache, je peux mettre en œuvre un autoninstall, quelque chose comme

public void onInit(int status) { 

    if (status == TextToSpeech.SUCCESS) { 
     // Set preferred language to US english. 

     int result = mtts.setLanguage(Locale.US); 

     if (result == TextToSpeech.LANG_MISSING_DATA || 
      result == TextToSpeech.LANG_NOT_SUPPORTED) { 
      // Lanuage data is missing or the language is not supported. 
      Log.e(TAG, "Language is not available."); 
     } else { 

      // The TTS engine has been successfully initialized. 
      speak(); 
     } 
    } else { 
     // missing data, install it 
     Intent installIntent = new Intent(); 
     installIntent.setAction(
      TextToSpeech.Engine.ACTION_INSTALL_TTS_DATA); 
     startActivity(installIntent); 
    } 
} 

Mais, est-ce que je veux? Est-ce que l'installation des locales prend beaucoup de place? Est-ce que ça gâche quelque chose d'autre?

concernant

+0

Vous pouvez toujours apparaître une boîte demandant à l'utilisateur s'ils veulent installer les données tts. Je ne serais pas trop inquiet à ce sujet cependant. Ça ne devrait pas gâcher quoi que ce soit. –

Répondre

2

Vous devez exécuter cette:

// missing data, install it 
    Intent installIntent = new Intent(); 
    installIntent.setAction(
     TextToSpeech.Engine.ACTION_INSTALL_TTS_DATA); 
    startActivity(installIntent); 

lorsque vous obtenez LANG_MISSING_DATA

0

Je voudrais seulement essayer l'installer dans le cas où "LANG_MISSING_DATA" pas "LANG_NOT_SUPPORTED". Comme il commence une autre activité et que l'utilisateur peut choisir de la télécharger ou non, je ne m'inquiéterais pas trop de prendre de l'espace. Non, ça ne devrait pas gâcher quoi que ce soit. Android vous permet de convertir votre texte en voix.