Android文本到语音连续添加语音文本

问题描述:

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

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

+0

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

+0

这就是我最终解决问题的方法,但文本的“块”之间总是有一个空格,这有点烦人。 – Micer

+0

例如,您是否定义了两个不同的TextToSpeech变量正确初始化?尽管如此:1)将第一个50个字符添加到第一个队列中,同时将第二个50个字符添加到第二个队列中; 2)当第一个队列结束重放时启动第二个队列; – Giuseppe

您是否尝试过为每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; 

我认为你不应该有一些延误。修改一个队列时它们是必需的,但如果您要启动一个新的队列,则应该立即进行。