我TextToSpeech
有时会播放一些长文本,我注意到Android 4.1.2
如果文本超过 4000 个字符,它就不会播放。
我没有收到任何错误,但不会播放文本。到目前为止,我能够在Android 4.1.2
(Samsung Galaxy Nexus,Nexus7)上重现这一点。
这是一个错误4.1.2
还是正常的(尽管我没有找到有关此行为的任何文档)?
我还发现了一个帖子:如果收到的 TTS 太长,则 onUtteranceCompleted() 丢失,这表明超过 4000 个字符的文本存在不同的问题。
编辑:我试图将我的字符串拆分为 4k 长度的块,并将其发送给TTS
using QUEUE_ADD
,但我遇到了另一个错误:QUEUE_ADD
不起作用,而是刷新现有队列,并且只播放最后一个块。
EDIT2:这是我的电话TTS
mTTS.speak(longText, TextToSpeech.QUEUE_FLUSH, null);