2012-04-07 10 views
2

ich Locale unter Code bekommen konnteWie nur TTS Locale in Android bekommen

Locale.getAvailableLocales(); 

und es wird immer riesige Schauplätze im Gerät zur Verfügung. Ich suche nach Locales, die nur für TTS verfügbar sind.

eine andere Option, die ich gefunden habe, ist die Gegenprobe mit unten Funktion, ich bin nicht bequem, um nach allen verfügbaren Gebietsschema zu suchen, das unten Code verwendet.

mTts.isLanguageAvailable(localeLang) 

Kann jemand vorschlagen mir bitte die beste Art und Weise nur TTS locales

Antwort

2

Es gibt keine API für diese zu erhalten. Darüber hinaus sind unterstützte Gebietsschemas TTS-Engine-spezifisch, daher gibt es keine "TTS-Gebietsschemas auf dem Gerät verfügbar". Sie können die unterstützten Gebietsschemas für die aktuelle (oder standardmäßige) TTS-Engine überprüfen, jedoch nicht für alle Engines gleichzeitig. Wie viele Gebietsschemas müssen Sie unterstützen und warum ist isLanguageAvailable() ein Problem?

+0

Dank Nikolay, Derzeit verwende ich nur isLanguageAvailable Methode. Ich dachte an die Verwendung direkt verfügbarer Optionen, wenn vorhanden, anstatt die isLanguageAvailable-Methode zu verwenden, da zum Anzeigen von ~ 6 TTS-Gebietsschemas ich mit fast> 30 Gebietsschemas vergleichen muss, die auf dem Gerät verfügbar sind. – Abilash

+0

Warum vergleichen Sie mit Gerätelokalen? Hat nichts mit Sprachen zu tun, die von einer TTS-Engine angeboten werden. Vielleicht nur mit dem aktuellen Gebietsschema vergleichen? –

+0

Gemäß meinem Szenario muss ich alle möglichen Locales zeigen, die TTS unterstützen – Abilash