У нас есть приложение для Android, которое будет периодически выполнять операции TTS в фоновом режиме в файл (вызов synhesizeToFile) и операцию, выполняющую операции TTS для немедленного вывода (вызов). Мой план состоял в том, чтобы создать два отдельных экземпляра TextToSpeech. Каждый экземпляр вызывает setOnUtteranceCompletedListener, чтобы прослушать полное произнесение.Несколько экземпляров TextToSpeech в Android
Я предположил, что каждый экземпляр будет работать независимо, чтобы ни один экземпляр не прерывал другой. Однако, похоже, что setOnUtteranceCompletedListener не ведет себя так, как ожидалось. Только один из экземпляров когда-либо будет получать обратные вызовы, в зависимости от того, какой сервис запускается.
Недействительно ли иметь два экземпляра TextToSpeech в одном процессе? Вы получаете только один движок TTS для каждого процесса, и поэтому все действия TTS в процессе должны совместно использовать движок.
Почему вы не связываетесь с сервисом и не отправляете ли сообщения сообщения в службу для разговоров? –