5

我目前正在为视障人士开发一款可以读取 .txt 文件的应用程序。我正在考虑以 50 个字符的块加载文本,这将类似于“页面”。问题是如何在 TTS 中连接这些“块”。我正在使用方法Tts.speak(speechText, TextToSpeech.QUEUE_ADD, null),并且在块之间总是有一个空格。当单词或句子(由于语调)与语音空间分开时,这很烦人。是不是有类似“流”的东西可以连续向 tts 添加语音文本并且不提供语音空间?

我知道我可以将文本分成句子而不是页面,但并非所有文本都在句子中,所以我必须定义一些如何划分文本的好方法。现在对我来说,具有相同字符数的块的解决方案似乎更好。

4

1 回答 1

0

您是否尝试过为每 50 个字符初始化一个新的 TextToSpeech 并在第一个字符结束时启动它?

例如,您是否定义了正确初始化的两个不同的 TextToSpeech 变量?虽然:

1) First 50 chars added to the first queue and at the same time the second 50 chars added to the second queue; 
2) When the first queue ends to reproduce start the second one end rewrite the first one with the third 50 chars; 

我认为你不应该有一些延误。它们在修改一个队列时是必要的,但如果您要开始一个新队列,它应该是立即的。

于 2015-07-02T14:28:00.997 回答