无法将印地语设置为文本转语音的语音语言,即使我的移动的TTS引擎完全支持印地语文本转语音
if(t1.isLanguageAvailable(new Locale("hi_IN"))==TextToSpeech.LANG_AVAILABLE)
t1.setLanguage(new Locale ("hi_IN"));
else
Toast.makeText(getApplicationContext(), "Sorry! Text To Speech failed...", Toast.LENGTH_LONG).show();
字符串
4条答案
按热度按时间2uluyalo1#
首先,作为测试,在Android文本到语音设置中将文本到语音引擎设置为印地语。无需对代码进行任何更改,它应该可以成功地使用印地语。如果没有,请检查日志输出,看看是否有问题。
接下来,你的代码依赖于isBoundageAvailable()返回TextToSpeech.LANG_AVAILABLE,如果它没有,你将不会尝试设置Locale。还有许多其他可能的响应。检查下面两个case switch语句的日志输出。
字符串
请注意,对
isLanguageAvailable()
的回应是出了名的不可靠。至于原因,请参阅my edit on the answer here。最后,确保在
onInit()
返回SUCCESS
之后设置TTS对象的语言exdqitrt2#
试试看:
字符串
我希望它会工作,如果它不是直到现在。
b4lqfgs43#
在创建了一个
TextToSpeech
类的对象之后,你需要在TextToSpeech.OnInitListener
的onInit()
回调中配置它(或者检查它的可用状态/值)。你将在那里得到关于你的TextToSpeech
对象的可靠信息。字符串
我得到了以上
onInit
回调:型
brqmpdu14#
试试这个。
t1.setLanguage(new Locale(“hi”,“IN”));
而不是
t1.setLanguage(new Locale(“hi_IN”));
我希望它会工作。