2012-03-01 57 views
0

我有一个要求,用户可以选择选择语言,例如英语和法语。如何动态地将语言环境设置为TTS引擎?

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

那么如何在运行时在TTS引擎中配置选定的语言环境?

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

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

回答

0

我发现在Android开发者博客这个博客帖子:

http://android-developers.blogspot.com/2009/09/introduction-to-text-to-speech-in.html

他们指出:

加载语言就像调用,例如简单:

MTTS。 setLanguage(Locale.US);

将语言加载并设置为英语,如在“美国”中所说的那样。

我并没有在Java中编写TTS应用程序的经验,但在我看来,在构建或初始化您的TTS引擎之前,您可以提示用户使用他们的首选语言。使用该提示符,您应该可以将值传递给您的onInit()方法,该方法将指定您正在使用的语言包。

当用户更改语言时,您是否有任何理由不能将TTS引擎重新初始化为新语言?

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

+0

onInit是回调方法,它将在第一次启动服务时调用,它将由android系统处理,因此我们不能再调用它来重新初始化它。但耶setAanguage方法可以帮助我解决这个问题。非常感谢你的帮助。 – piks 2012-03-01 07:11:49

相关问题