我有一个要求,即用户可以选择选择语言,例如英语和法语。
应用程序将具有一组活动和一个后台服务,因此当应用程序启动时,此时服务将启动,并且TTS引擎将使用默认语言初始化为英语服务(onInit()方法)。我必须设置当特定活动开始时用户将设置的语言。
那么如何在运行时在TTS引擎中配置所选语言区域设置?
我的观察是当服务开始时,只有TTS引擎使用onInit()方法中的默认语言初始化,并且实例活动不可用,所以我们不会有任何已配置的语言细节,所以我们不能这样做但是我面临的实际问题是第二次如何更改TTS引擎的语言环境(当用户从活动中选择语言时),因为我们不能在onInit()方法之外使用mTts.setLanguage(Locale.FRENCH),就好像你这也称它不会反映TTS的变化。
所以请帮我解决这个问题。
答案 0 :(得分:0)
我在Android开发者博客上发现了这篇博文:
http://android-developers.blogspot.com/2009/09/introduction-to-text-to-speech-in.html
他们说:
加载语言就像调用例子一样简单:
mTts.setLanguage(Locale.US);
加载并将语言设置为英语,如“US”所述。
我没有使用Java编写TTS应用程序的经验,但在我看来,在构建或初始化TTS引擎之前,您可以提示用户使用他们的首选语言。使用该提示符,您应该能够将值传递给onInit()方法,该方法将指定您正在使用的语言包。
当用户更改语言时,有没有理由不能将TTS引擎重新初始化为新语言?
我希望这个答案很有帮助。祝你的项目好运。