js -& #160;只执行一个命令

Speak.js – only one command is executed

本文关键字:一个 命令 执行 #160 js      更新时间:2023-09-26

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

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

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

…只读出"2"。

有谁知道怎么排除这样的问题吗?

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

实际情况是两个都在执行,但是第一个被第二个践踏了。看看你小提琴的这个修订版:http://jsfiddle.net/YgWdh/4/。

它使用setTimeout来确保第二行在执行之前等待一点。但是我没有看到任何API文档,所以我不知道如何使第二次调用只等待足够长的时间来完成第一次。

我想你应该做speak("1 2")

http://jsfiddle.net/K6GtQ/

我没有使用这个库的任何经验,但是您可能希望在说话后延迟一段时间,因为如果您让它在它之后发出另一个命令,它可能会覆盖第一个说话

也许你可以调查meSpeak.js (http://www.masswerk.at/mespeak/),它是基于speak.com .js,并添加回调支持。我与那个项目没有任何关系,但我正在研究一些回调可以帮助解决的问题。