我目前正在speak.js鬼混:http://www.syntensity.com/static/espeak.htmlSpeak.js - 只執行一個命令
顯然,腳本只允許一個說話要執行的命令,如果我這樣做:
speak("1");
speak("2");
...只讀出「2」。
有沒有人知道如何解決這樣的問題?
如果你想折騰:http://jsfiddle.net/timkl/YgWdh/
我目前正在speak.js鬼混:http://www.syntensity.com/static/espeak.htmlSpeak.js - 只執行一個命令
顯然,腳本只允許一個說話要執行的命令,如果我這樣做:
speak("1");
speak("2");
...只讀出「2」。
有沒有人知道如何解決這樣的問題?
如果你想折騰:http://jsfiddle.net/timkl/YgWdh/
發生了什麼事情是兩個正在執行,但第一個被第二個踩到了。看看你的小提琴的這個版本:http://jsfiddle.net/YgWdh/4/。
它使用setTimeout
來確保第二行在執行前等待一會兒。但是我沒有看到任何API文檔,所以我不知道如何讓第二個電話等待足夠長的時間才能完成第一個。
我認爲你必須做這樣的事情speak("1 2")
我還沒有與該庫的任何經驗,但你可能想在講話之後延遲一段時間,因爲如果你讓它在講話之後說出另一個命令,它就會覆蓋第一個講話。
http://stackoverflow.com/questions/8194089/speak-js-only-one-command-is-executed/8194167#8194167 –
也許你可以調查meSpeak.js(http://www.masswerk.at/mespeak/),它基於speak.js,並添加對回調的支持。 我並不參與該項目,但我正在調查回調有助於解決的問題。
順便說一句,你可以從C編譯成Javascript,我從來不知道。很高興知道。 – dnuttle