Android中的多个TextToSpeech实例

时间:2014-01-15 23:48:43

标签: android text-to-speech

我们有一个Android应用程序,它有一个服务偶尔在后台执行TTS操作到一个文件(调用synthesizeToFile)和一个Activity执行TTS操作以立即输出(调用speak)。我的计划是创建两个单独的TextToSpeech实例。每个实例都调用setOnUtteranceCompletedListener来监听话语完成情况。

我假设每个实例都是独立运行的,因此两个实例都不会中断另一个实例。但是,似乎setOnUtteranceCompletedListener的行为不符合预期。根据服务和活动启动的顺序,只有一个实例会收到回调。

在一个进程中有两个TextToSpeech实例是无效的吗?每个进程只能获得一个TTS引擎,因此进程中的所有TTS操作都必须共享引擎。

1 个答案:

答案 0 :(得分:-1)

在单个进程中创建多个TTS实例是有效的。 (我已成功完成此操作) 每个实例都独立于其他实例。

重要的是要跟踪实例,因为你需要在每个实例使用后停止/关闭tts。