2010-02-09 7 views
5

J'utilise Text to Speech.Text to Speech setLanguage() ne fonctionne pas

Quand je mets la langue à l'aide

mTts = new TextToSpeech(this, this); 
mTts.setLanguage(Locale.UK) 

Je reçois toujours un accent américain. La seule façon de résoudre ce problème consiste à modifier le paramètre de langue par défaut dans le système Android. Qu'est-ce que je fais mal?

Répondre

7

SOLVED

au lieu de le mettre à l'intérieur onActivityResult() le mettre dans onInit (statut int) et il fonctionne

+0

Comportement bizarre. Il semble que TTS doit vraiment être initialisé complètement avant de définir la langue. – Sney

+2

Cela ne fonctionne pas pour moi dans la méthode onInit (int status) .. Je deviens fou! –

0

Il y a un autre cas où la langue est pas installé sur tts et l'appareil ne avoir accès au net je l'ai vu sur KitKat. Dans ce cas tts ne change pas la langue, il ne donnera pas getAvailableLanguages() et ne fonctionne que sur la langue par défaut. Vous pouvez le voir en appelant getLanguage() après avoir attribué la nouvelle langue