Speak.js - 只执行一个命令

时间:2011-11-19 12:34:55

标签: javascript jquery espeak

我目前正在使用speak.js:http://www.syntensity.com/static/espeak.html

显然,如果我这样做,脚本只允许执行一个发言命令:

speak("1");
speak("2");

...只读出“2”。

有人知道如何解决这样的问题吗?

如果你想摆弄:http://jsfiddle.net/timkl/YgWdh/

4 个答案:

答案 0 :(得分:2)

正在发生的事情是两者都被执行但第一个被第二个踩踏。看看你的小提琴的这个版本:http://jsfiddle.net/YgWdh/4/

它使用setTimeout来确保第二行在执行之前等待一点。但我没有看到任何API文档,因此我不知道如何使第二次调用只等待第一次完成。

答案 1 :(得分:1)

我认为你必须做speak("1 2")

之类的事情

http://jsfiddle.net/K6GtQ/

答案 2 :(得分:1)

我对这个图书馆没有任何经验,但你可能想在讲话后延迟一段时间,因为如果你让它在它之后立即说出另一个命令,它就会覆盖第一个说话。

答案 3 :(得分:1)

也许您可以调查meSpeak.js(http://www.masswerk.at/mespeak/),它基于speak.js,并添加对回调的支持。 我与该项目无关,但我正在研究回调有助于解决的问题。