我正在尝试使用发声器语音实现一个 tts 应用程序。我已经下载了很多语音,它们在 get Voices 调用中正确列出。
for(Voice v : engine.getVoices()){
}
但是当我调用 engine.setVoice(v)
时,当您为一种语言下载了多个语音时,它设置不正确。例如
它不会在应用程序 (Fiona) 中使用选定的声音,而是使用 Kate,如果我在 vocalizer 应用程序中交换最喜欢的声音,它将使用 Fiona 而不是 Kate。如果您下载了所有语音,这也是一样的,它总是会选择最喜欢的语音作为在应用程序中选择的本地语音。
我该如何解决这个问题?
最佳答案
我对此进行了测试,可以确认这是一个错误。
如您所说,它会在不同语言环境的声音之间成功切换,但当尝试在其中一个语言上调用 setVoice())
时,它会默认为应用程序中选择的“最喜欢的”相同的语言环境。
同样令人沮丧的是,当调用 getVoice()
时,它会返回您尝试设置的语音,因此无法检测到它“失败”。它必须在每次调用 speak
我将使用“关于设置”中的电子邮件报告该错误并引用这篇文章 - 如果您也能这样做,那就太好了!
关于java - tts 使用 vocalize tts 引擎设置语音,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39095960/