2010-02-09 3 views
5

Ich verwende Text zu Sprache.Text in Sprache setLanguage() funktioniert nicht

Wenn ich die Sprache

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

Ich bekomme immer einen amerikanischen Akzent mit eingestellt.

Die einzige Möglichkeit, dies zu beheben, besteht darin, die Standardsprache im Android-System zu ändern. Was mache ich falsch?

Antwort

7

GELÖST

Statt es in onActivityResult setzen() legte es in onInit (int status) und es funktioniert

+0

Weird Verhalten zugewiesen. Es scheint, dass TTS wirklich vollständig initialisiert werden muss, bevor die Sprache eingestellt wird. – Sney

+2

Es funktioniert nicht für mich in der OnInit (Int-Status) -Methode .. Ich werde verrückt! –

0

Es gibt einen weiteren Fall ist, die die Sprache nicht auf tts installiert ist und das Gerät nicht habe Zugang zu Netz Ich habe es auf KitKat gesehen. In diesem Fall ändert tts die Sprache nicht, es gibt getAvailableLanguages() nicht und funktioniert nur in der Standardsprache. Sie können dies sehen, indem Sie aufrufen, nachdem Sie die neue Sprache

Verwandte Themen