我目前正在为视障人士开发一个应用程序,它将读取.txt文件。我正在考虑用50个字符加载块中的文本,这将类似于“页面”。问题是如何在TTS中连接这些“块”。我正在使用方法Tts.speak(speechText, TextToSpeech.QUEUE_ADD, null)
,并且在块之间总是有空格。当单词或句子(由于语调)被语音空间划分时,这很烦人。是不是像“流”这样的东西允许连续地向tts添加语音文本而不提供语音空间?
我知道我可以将文本分成页面而不是句子,但不是所有文本都在句子中,所以我必须定义一些如何划分文本的好方法。具有相同字符数的块的解决方案现在对我来说似乎更好。
答案 0 :(得分: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;
我认为你不应该有一些延误。修改一个队列时它们是必需的,但是如果你要开始一个新队列,它应该是立即的。