【发布时间】:2015-12-11 13:30:23
【问题描述】:
我需要在 Android 中为 TTS 使用印度英语或印地语(母语)语言。
但是我没有找到任何与创建自定义语言相关的提示或源代码。
我该怎么做?
【问题讨论】:
我需要在 Android 中为 TTS 使用印度英语或印地语(母语)语言。
但是我没有找到任何与创建自定义语言相关的提示或源代码。
我该怎么做?
【问题讨论】:
首先使用以下命令检查您的模拟器设备中是否安装了 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 国家/地区代码(例如“US”)。
【讨论】: