由网友(乜算俄多情)分享简介:林具有TTS引擎一个奇怪的问题,我无法弄清楚,为什么/哪里是我的错误。搜索了几个小时一个解决方案,但没有任何mentionable结果。当我使用这个 API演示code 一切运作良好,我可以听到所有已安装的语言的声音。但是当我通过这种方法我得到CHECK_VOICE_DATA_FAIL作为返回code定制TTS引擎(这...
林具有TTS引擎一个奇怪的问题,我无法弄清楚,为什么/哪里是我的错误。搜索了几个小时一个解决方案,但没有任何mentionable结果。
当我使用这个 API演示code 一切运作良好,我可以听到所有已安装的语言的声音。
但是当我通过这种方法我得到CHECK_VOICE_DATA_FAIL作为返回code定制TTS引擎(这是我需要的所有necessay语言,谷歌的标准是不够的)。
我在想什么吗?我如何检查TTS引擎的availabillity? 我知道,这并不一定是code问题,但是,对于其他Programms这似乎是工作。
我从 SVOX网站安装其他应用程序和这些似乎工作我所有的设备,而code以下失败。
作为一个例子, TalkToMeClassic 的正在检查的availlability发动机和其工作正常。
做了什么不同吗?
下面是我的excact code(这是文章的复印件):
@覆盖
公共无效的onCreate(包savedInstanceState){
super.onCreate(savedInstanceState);
意图checkIntent =新意图();
checkIntent.setAction(TextToSpeech.Engine.ACTION_CHECK_TTS_DATA);
startActivityForResult(checkIntent,0x99);
}
@覆盖
保护无效onActivityResult(INT申请code,INT结果code,意图数据){
如果(要求code == 0x99){
如果(结果code == TextToSpeech.Engine.CHECK_VOICE_DATA_PASS){
//成功,创造了TTS实例
MTTS =新TextToSpeech(这一点,这一点);
} 其他 {
Log.e(TTS,缺少数据:+结果code);
//丢失的数据,安装
意图installIntent =新意图();
installIntent.setAction(
TextToSpeech.Engine.ACTION_INSTALL_TTS_DATA);
startActivity(installIntent);
}
}
}
解决方案
不幸的是,初始化TextToSpeech
可靠是复杂的,异步的,和混乱。
为什么你的code检查0x99 ???
您其实并不需要使用 ACTION_CHECK_TTS_DATA意图
来检查可用的语言,使用 TextToSpeech.isLanguageAvailable
代替。
所以,这里是一个辅助类该做的。在code在该库将帮助您开始。它可以是那么容易,因为只是延长这个类。
或者您可以阅读有关href="http://rads.stackoverflow.com/amzn/click/1118183487" rel="nofollow">这本书
相关推荐
最新文章