Android 如何动态设置TTS引擎的区域设置?
我有一个要求,用户可以选择语言,例如英语和法语 应用程序将有一组活动和一个后台服务,所以当应用程序启动时,服务将启动,TTS引擎将使用默认语言初始化为服务中的英语(onInit()方法)。我必须设置在特定活动开始时由用户设置的语言 那么,如何在运行时在TTS引擎中配置所选语言环境呢 我的观察结果是,当服务启动时,只有TTS引擎在onInit()方法中使用默认语言初始化,而at实例活动不可用,因此我们将没有任何配置的语言详细信息,所以我们不能这样做,但我面临的实际问题是第二次以后如何更改TTS引擎的区域设置(当用户从活动中选择语言时)因为我们不能在onInit()方法之外使用mTts.setLanguage(Locale.FRENCH),就好像您调用它一样,它也不会反映TTS中的更改Android 如何动态设置TTS引擎的区域设置?,android,Android,我有一个要求,用户可以选择语言,例如英语和法语 应用程序将有一组活动和一个后台服务,所以当应用程序启动时,服务将启动,TTS引擎将使用默认语言初始化为服务中的英语(onInit()方法)。我必须设置在特定活动开始时由用户设置的语言 那么,如何在运行时在TTS引擎中配置所选语言环境呢 我的观察结果是,当服务启动时,只有TTS引擎在onInit()方法中使用默认语言初始化,而at实例活动不可用,因此我们将没有任何配置的语言详细信息,所以我们不能这样做,但我面临的实际问题是第二次以后如何更改TTS引擎
所以请帮我解决这个问题。我在Android开发者博客上找到了这篇博文: 他们说: 加载语言与调用语言一样简单,例如: mTts.setLanguage(Locale.US) 加载并将语言设置为英语,如“美国”国家所说 我没有用Java编写TTS应用程序的经验,但在我看来,在构造或初始化TTS引擎之前,您可以提示用户使用他们喜欢的语言。使用该提示,您应该能够将一个值传递给onInit()方法,该方法将指示您使用的语言包 当用户更改语言时,您是否有任何原因不能将TTS引擎重新初始化为新语言
我希望这个答案是有帮助的。祝你的项目好运。onInit是一种回调方法,它将在服务首次启动时被调用,并且将由android系统处理,因此我们不能再次调用它来重新初始化。但是是的,setLanguage方法帮助我解决了这个问题。非常感谢你的帮助。