2010-12-04 59 views
0

Je suis toujours aux prises avec mes tts. Tout fonctionne bien dans mon émulateur, mais comme mon téléphone est suédois, je dois vérifier le Locale.US (mes textes sont en anglais) et l'installer. Et .. c'est ce que je pensais que je faisais, mais le Locale n'est pas disponible et renvoie -1? Est-ce que je fais quelque chose de mal, je pensais que les langues anglaises étaient toujours disponibles?android TextToSpeech.LANG_AVAILABLE

public void onInit(int status) { 
    // status can be either TextToSpeech.SUCCESS or TextToSpeech.ERROR. 
    if (status == TextToSpeech.SUCCESS) { 
     // Set preferred language to US english. 
     // Note that a language may not be available, and the result will indicate this. 
     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."); 
      //install it? 

      result = mtts.isLanguageAvailable(Locale.US); 
      if (result == TextToSpeech.LANG_AVAILABLE) { 
      AlertDialog.Builder builder = new AlertDialog.Builder(this); 
      builder.setMessage("Language missing, install English speech?") 
        .setCancelable(false) 
        .setPositiveButton("Yes", new DialogInterface.OnClickListener() { 
         public void onClick(DialogInterface dialog, int id) { 

          //installera 
          Intent installIntent = new Intent(); 
          installIntent.setAction(
           TextToSpeech.Engine.ACTION_INSTALL_TTS_DATA); 
          startActivity(installIntent); 


         } 
        }) 
        .setNegativeButton("No", new DialogInterface.OnClickListener() { 
         public void onClick(DialogInterface dialog, int id) { 
          dialog.cancel(); 
         } 
        }); 
      AlertDialog alert = builder.create(); 
      } 
      //not installable 
      Log.e(TAG, "Language not installable"); 

     } else { 

      // The TTS engine has been successfully initialized. 
      speak(); 
     } 
    } else { 
     // Initialization failed. 
     Log.e(TAG, "Could not initialize TextToSpeech."); 
    } 
} 
+0

Donc, j'ai tout foiré lors du codage la nuit dernière. Maintenant, je reçois le dialogue pour demander si je devrais installer les langues, mais quand je clique sur "oui", il va sur le marché et commence à télécharger .. et puis il me jette une exception Java.io.IOException? Que puis-je faire au sujet de la procédure d'installation des androïdes? Le téléphone me dit qu'il est installé, mais je reçois toujours "-1" dans le résultat lors de la configuration des paramètres régionaux mtts. Toute personne qui sait comment installer un paquet installé? – elwis

Répondre

0

Semble fonctionner .. si le téléphone n'est pas connecté à l'ordinateur. Je n'avais aucune idée à ce sujet, mais quand je me suis déconnecté, j'ai couru mon application, et il a récupéré le pack de langue et maintenant il parle couramment l'anglais ..