【发布时间】:2014-01-15 23:48:43
【问题描述】:
我们有一个 Android 应用,它有一个服务偶尔会在后台对文件执行 TTS 操作(调用 synthesizeToFile)和一个执行 TTS 操作以立即输出的 Activity(调用 speak)。我的计划是创建两个单独的 TextToSpeech 实例。每个实例调用 setOnUtteranceCompletedListener 来监听话语完成。
我假设每个实例都会独立运行,因此两个实例都不会中断另一个实例。但是,似乎 setOnUtteranceCompletedListener 的行为不如预期。根据服务和活动的启动顺序,只有一个实例会收到回调。
在一个进程中拥有两个 TextToSpeech 实例是否无效?每个进程是否只有一个 TTS 引擎,因此进程内的所有 TTS 操作都必须共享引擎。
【问题讨论】:
-
为什么不绑定到服务,让activity发送消息给服务说话?