我正在尝试使用发声器声音实现tts应用程序。我已经下载了很多声音,并且通过获取音色调用正确列出了它们。
for(Voice v : engine.getVoices()){
}
但是,当我为某种语言下载了多个语音时,我调用engine.setVoice(v)
时设置不正确。例如
它不是在应用程序中使用选定的语音(Fiona),而是使用Kate,如果我在发声器应用程序中交换收藏的语音,它将使用Fiona而不是Kate。如果您已经下载了所有声音,它将始终为应用程序中选择的本地语音选择最受欢迎的声音。
我该如何解决?
我对此进行了测试,并确认这是一个错误。
正如您所说,它将成功地在不同语言环境的声音之间切换,但是当尝试在同一个Locale上调用setVoice())
时,它将默认为应用程序中选择的“收藏”。
同样令人沮丧的是,当调用getVoice()
时,它会返回您尝试设置的语音,因此无法检测到它“失败”。它必须在每次调用speak
时在内部进行更改
我即将使用“关于设置”中的电子邮件报告错误并参考此帖子 - 如果您也可以这样做,那就太好了!
此问题已在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
- 内部改进和错误修正