如果收到的TTS太长,onUtteranceCompleted()会丢失

an0*_*00b 7 android text-to-speech onutterancecompleted

我刚刚在Android的TTS引擎中观察到"未记录的异常":如果要说的文本太长(大于4K个字符),那么onTetteranceCompleted()对于那个特定的话语将永远不会到达......

还有其他人遇到过这个吗?

这是一个已知的错误或限制吗?

可以做些什么来解决这个问题?

Pro*_*man 2

我没有意识到这个限制,因为我更喜欢较小的语音块(在暂停或活动暂停时很有用)。

当你调用speak时,你可以使用queueMode将新的话语添加到队列的末尾:TextToSpeech.QUEUE_ADD

测试以确保句子听起来没有不同,但我认为在截止长度之后自动解析下一个句子(或单词,如果需要)就可以了。