如何为TextToSpeech创建自定义语言?

时间:2012-03-12 09:06:31

标签: android text-to-speech

我需要在Android中使用印度语 - 英语或印地语(母语)语言进行TTS 但我没有找到任何与创建自定义语言相关的提示或源代码。

我该怎么做?

1 个答案:

答案 0 :(得分:3)

首先使用以下内容检查您的仿真器设备中是否安装了TSS API。

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);

有更多信息here

编辑要检查手机上是否有该语言,请按以下步骤使用getAvailableLocales()

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

它应该在您的日志输出中显示结果

语言代码是ISO 639-1定义的双字母小写ISO语言代码(例如“en”)。国家/地区代码是ISO 3166-1定义的双字母大写ISO国家/地区代码(例如“美国”)。