【发布时间】:2012-11-18 12:51:50
【问题描述】:
我有时使用TextToSpeech 播放一些长文本,我注意到由于Android 4.1.2 如果文本长度超过4000 个字符,它不会播放。
我没有收到任何错误,但不会播放文本。到目前为止,我只能在 Android 4.1.2(Samsung Galaxy Nexus,Nexus7) 上重现这一点。
这是 4.1.2 中的错误还是正常的(尽管我没有找到任何有关此行为的文档)?
我还发现了一个帖子:onUtteranceCompleted() lost if TTS received is too long,它表明超过 4000 个字符的文本存在不同的问题。
编辑: 我尝试将我的字符串拆分为 4k 长度的块,然后使用 QUEUE_ADD 将其发送到 TTS,我遇到了另一个 bug:QUEUE_ADD 不起作用,相反,它会刷新现有队列,并且只播放最后一个块。
EDIT2:这是我给TTS的电话
mTTS.speak(longText, TextToSpeech.QUEUE_FLUSH, null);
【问题讨论】:
-
传递字符串的 api 调用是什么?或许android源码可以解释更多
标签: android text-to-speech android-4.2-jelly-bean