Android 如何为TextToSpeech创建自定义语言?
我需要在Android中使用印度英语或印地语(母语)进行TTS。Android 如何为TextToSpeech创建自定义语言?,android,text-to-speech,Android,Text To Speech,我需要在Android中使用印度英语或印地语(母语)进行TTS。 但我没有发现任何与创建自定义语言相关的提示或源代码 如何才能做到这一点?首先使用以下命令检查您的仿真器设备中是否安装了TSS API Intent checkIntent = new Intent(); checkIntent.setAction(TextToSpeech.Engine.ACTION_CHECK_TTS_DATA); startActivityForResult(checkIntent, MY_DATA_CHECK
但我没有发现任何与创建自定义语言相关的提示或源代码
如何才能做到这一点?首先使用以下命令检查您的仿真器设备中是否安装了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\u COUNTRY\u 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);
更多信息可用
编辑要检查您的手机上是否提供该语言,请使用GetAvailableCales()
,如下所示
Locale loc = new Locale("en");
Log.i("-------------",Arrays.toString(loc.getAvailableLocales()));
它应该在日志输出中显示结果
语言代码是ISO 639-1定义的两个字母小写ISO语言代码(如“en”)。国家/地区代码是ISO 3166-1定义的两个字母大写ISO国家/地区代码(如“US”)。首先使用以下命令检查您的仿真器设备中是否安装了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\u COUNTRY\u 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);
更多信息可用
编辑要检查您的手机上是否提供该语言,请使用GetAvailableCales()
,如下所示
Locale loc = new Locale("en");
Log.i("-------------",Arrays.toString(loc.getAvailableLocales()));
它应该在日志输出中显示结果
语言代码是ISO 639-1定义的两个字母小写ISO语言代码(如“en”)。国家代码是ISO 3166-1定义的两个字母大写的ISO国家代码(如“US”)。谢谢……但如何检查这种语言是否可用?@SandiParal编辑了我的回答。作为用户,您应该避免使用“谢谢”来贴小费并勾选你认为有用的答案。谢谢……但是如何检查这种语言是否可用?@sandiparmal编辑了我的回答。。作为一名用户,你应该避免使用“谢谢”来发送小费,而是勾选你认为有用的答案。