我需要在我的 Andorind 应用程序中实现允许在当前 Acitivity 中播放两种不同的合成语言的功能 - 例如有两个按钮说英语和说法语
我尝试通过以下两种方式来做到这一点,但它们都无效,因为在播放声音之前有很长的延迟:
- 第一种方法:创建 TTS 的单个实例并根据必须播放的语言通过 setLocale 方法更改语言。不幸的是,通过 setLocale 在语言之间切换非常耗时,这会影响单击按钮后的 react
- 第二种方法:为各自的语言分别创建两个 TTS 实例。不幸的是,这里也会出现延迟,并且与第一种解决方案没有区别。
你能帮忙解决这个恼人的问题吗?
最佳答案
在任何用户交互之前等待两个 TTS 引擎在您的应用启动时完成初始化(通过创建 OnInitListener 并等待——例如使用信号量——直到 onInit() 方法被调用),以便当用户到达应用程序中引入按钮的位置时,您是否已经初始化了两个引擎?
关于Android:文本到语音的两个实例工作非常缓慢,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26994354/