【问题标题】:Android Text to Speech add speech text continuouslyAndroid Text to Speech 连续添加语音文本
【发布时间】:2013-10-16 12:51:07
【问题描述】:

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

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

【问题讨论】:

  • 您是否尝试过为每 50 个字符初始化一个新的 TextToSpeech 并在第一个字符结束时启动它?
  • 这就是我最终解决的方法,但是文本“块”之间总是有空格,这有点烦人。
  • 您是否定义了正确初始化的两个不同的 TextToSpeech 变量?虽然: 1)前 50 个字符添加到第一个队列,同时第二个 50 个字符添加到第二个队列; 2)当第一个队列结束重现时开始第二个;
  • 我认为你不应该有一些延误。它们在修改一个队列时是必要的,但如果您要开始一个新队列,它应该是立即的。
  • 据我记得,我只用一个 TextToSpeech 实例尝试过,所以也许你的建议会有所帮助。现在差不多 2 年前了,我不再开发那个应用程序了,所以我无法测试它,但你的 cmets 可能对其他人有帮助,谢谢。

标签: android text-to-speech


【解决方案1】:

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

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2020-12-04
    • 1970-01-01
    • 2023-01-29
    • 2013-12-30
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多