2014-01-15 24 views
0

我們有一個Android應用程序,該應用程序偶爾會在後臺對文件(調用synthesizeToFile)和執行TTS操作以執行立即輸出(調用說話)的TTS操作執行TTS操作。我的計劃是創建兩個獨立的TextToSpeech實例。每個實例調用setOnUtteranceCompletedListener來偵聽話語完成。Android中的多個TextToSpeech實例

我假設每個實例都將獨立運行,這樣兩個實例都不會中斷另一個實例。但是,看起來setOnUtteranceCompletedListener的行爲並不像預期的那樣。根據服務和活動啓動的順序,只有其中一個實例會收到回調。

在單個進程中有兩個TextToSpeech實例是無效的嗎?每個流程只有一個TTS引擎,因此流程內的所有TTS操作都必須共享引擎。

+0

爲什麼不綁定到服務,並讓活動發送消息到服務說話? –

回答

-1

在單個進程中創建多個TTS實例是有效的。 (我已成功完成) 每個實例都獨立於其他實例。

重要的是要跟蹤實例,因爲您需要在每個實例使用後停止/關閉tts。