Как создать собственный язык для TextToSpeech? - PullRequest
1 голос
/ 12 марта 2012

Мне нужно использовать индийский английский или хинди (родной язык) для TTS в Android.
Но я не нашел ни подсказки, ни исходного кода, связанных с созданием собственного языка.

Как я могу это сделать?

1 Ответ

3 голосов
/ 12 марта 2012

Сначала проверьте, установлен ли API-интерфейс TSS на устройстве эмулятора, используя следующую команду.

Intent checkIntent = new Intent();
checkIntent.setAction(TextToSpeech.Engine.ACTION_CHECK_TTS_DATA);
startActivityForResult(checkIntent, MY_DATA_CHECK_CODE);


mTts.isLanguageAvailable(Locale.INDIA)); //try Locale.INDIA or Locale.INDIAN_ENGLISH or Locale.HINDI as I have not used Indian languages or Indian English dialect in it before

, который вернет TextToSpeech.LANG_COUNTRY_AVAILABLE, чтобы указать, что настройки для такого языка установлены и доступны. Затем используйте следующее для теста.

String myText1 = "Did you sleep well?";
String myText2 = "I hope so, because it's time to wake up.";
mTts.speak(myText1, TextToSpeech.QUEUE_FLUSH, null);
mTts.speak(myText2, TextToSpeech.QUEUE_ADD, null);

Более подробная информация доступна здесь

РЕДАКТИРОВАТЬ Чтобы проверить, доступен ли язык на вашем телефоне, используйте getAvailableLocales() следующим образом

   Locale loc = new Locale("en");
   Log.i("-------------",Arrays.toString(loc.getAvailableLocales()));

В результатах журнала должны отображаться результаты

Языковые коды представляют собой двухбуквенные строчные коды языка ISO (например, «en»), как определено в ISO 639-1. Коды стран представляют собой двухбуквенные прописные коды стран ИСО (например, «США»), как определено в ИСО 3166-1.

...