我正在尝试使用发声器声音来实现tts应用程序。我已经下载了很多声音,并且通过获取音色呼叫正确列出了它们。
for(Voice v : engine.getVoices()){
}
但是,当我为某种语言下载了多个语音时,我调用engine.setVoice(v)
时设置不正确。例如
不是在应用程序中使用所选语音(Fiona),而是使用Kate,如果我在发声器应用程序中交换收藏的语音,它将使用Fiona而不是Kate。如果您已经下载了所有声音,它将始终为应用程序中选择的本地语音选择最受欢迎的声音。
我该如何解决这个问题?
答案 0 :(得分:1)
我对此进行了测试,并确认这是一个错误。
正如您所说,它将成功切换不同语言环境的语音,但在尝试在同一个语言环境中调用setVoice())
时,它将默认为应用程序中选择的“收藏”。
同样令人沮丧的是,当调用getVoice()
时,它会返回您尝试设置的语音,因此无法检测到它“失败”。每次调用speak
我即将使用“关于设置”中的电子邮件报告错误,并参考此帖子 - 如果您也可以这样做,那就太好了!
答案 1 :(得分:0)
此问题已在Vocalizer 2.0.7版(2017年8月7日)上修复。
应用程序设置中有一个选项,名为"支持最新的TTS API"或类似的默认启用。
更新日志:
重要提示:此更新使用新的语音数据,当前的语音将被删除。您将不得不再次下载声音
- 升级引擎至Nuance Vocalizer Embedded 3.0,提高质量和稳定性
-8种新语言:智利语,Bhojpuri语,孟加拉语,卡纳达语,马拉地语,泰卢固语,泰米尔语和克罗地亚语
-20新声音
代码优化以改善响应时间
- 支持Android TextToSpeech API
- 支持Android 7 Nougat
- 支持新的emojis Unicode 8.0和9.0
- 内部改进和错误修正