如何动态地将语言环境设置为TTS引擎?

时间:2012-03-01 06:04:30

标签: android

我有一个要求,即用户可以选择选择语言,例如英语和法语。

应用程序将具有一组活动和一个后台服务,因此当应用程序启动时,此时服务将启动,并且TTS引擎将使用默认语言初始化为英语服务(onInit()方法)。我必须设置当特定活动开始时用户将设置的语言。

那么如何在运行时在TTS引擎中配置所选语言区域设置?

我的观察是当服务开始时,只有TTS引擎使用onInit()方法中的默认语言初始化,并且实例活动不可用,所以我们不会有任何已配置的语言细节,所以我们不能这样做但是我面临的实际问题是第二次如何更改TTS引擎的语言环境(当用户从​​活动中选择语言时),因为我们不能在onInit()方法之外使用mTts.setLanguage(Locale.FRENCH),就好像你这也称它不会反映TTS的变化。

所以请帮我解决这个问题。

1 个答案:

答案 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引擎重新初始化为新语言?

我希望这个答案很有帮助。祝你的项目好运。