问题
In my application , I wish to know if there is any tts engine that can read hindi text . my code
tts.setLanguage(Locale.US);
unfortunately Hindi is not supported by Android. See the list of Locales supported below
http://developer.android.com/reference/java/util/Locale.html
How will i do the hindi locale any help ? Thanks in advance
回答1:
Hindi is supported by Android -- it is just that there isn't a Locale
constant for it.
If you look at http://en.wikipedia.org/wiki/List_of_ISO_639-1_codes, then hi
is the ISO 639-1 code for Hindi. Also note that Android/Java may also use the ISO 39-3 code which for Hindi is hin
.
Therefore, you need to use either:
tts.setLanguage(new Locale("hi"));
or:
tts.setLanguage(new Locale("hin"));
You will also need to use a text-to-speech synthesiser that supports Hindi, otherwise you will get a "language not supported" error. The eSpeak text to speech synthesiser supports Hindi.
I have a port of eSpeak for Android 4.0 and later [1]/[2] for £0.99. This has many improvements and bug fixes over the eyes free port and is kept up-to-date with the latest eSpeak releases.
- http://reecedunn.co.uk/espeak-for-android
- https://play.google.com/store/apps/details?id=com.reecedunn.espeak
来源:https://stackoverflow.com/questions/16605247/speak-with-tts-such-as-hindi