如何在Android中的TTS中给出单词之间的暂停或间隙

我在mytts.speak("hi hello hi",parameter,parameter...);给出了一个文本mytts.speak("hi hello hi",parameter,parameter...);

但是这些词语不断地说没有任何差距或停顿,我希望在单词之间提供一些时间间隔以便更清晰。

我怎么能实现这个目标?

如果我理解你的问题, 这个post就有答案(rushi)。

只需在TTS队列中添加一个延迟,方法是将字符串拆分并通过for循环遍历整个片段:

 mytts.speak(snippet, QUEUE_ADD, null); mytts.playSilentUtterance(2000, QUEUE_ADD, null); 

你可以用单词分割你的句子并在一个新的主题中用for循环说出来。 拆分这个短语会给你一点延迟,但是如果你想要一个更长的一个,你可以在线程上工作并让他们等待。 它会是这样的:

 final Handler h = new Handler(); String[] words = text.split(" "); for (final CharSequence word : words) { Runnable t = new Thread() { @Override public void run() { m_TTS.speak(word, TextToSpeech.QUEUE_ADD, null, "TTS_ID"); } }; h.postDelayed(t, 1000); }