2015-02-04 102 views
0

我正在嘗試構建一個在Chrome瀏覽器中運行的節點webkit的應用程序,並且某些文本到語音API在節點webkit(windows)中無法正常工作。當我做了一些檢查與控制檯與webkit調試器我可以看到node webkit text to speech api not working?

speechSynthesis.getVoices() 

沒有任何聲音。如何解決這個問題?

var voiceOutput = new SpeechSynthesisUtterance("sample message"); 
    voiceOutput.voice = speechSynthesis.getVoices()[0]; 
    speechSynthesis.speak(voiceOutput); 
+0

我正在使用最新版本的節點webkit的Windows 32位.... – balaphp

回答

0

Node-webkit或nw.js不支持SpeechSynthesis API。

我也碰到這個問題,同時發展自己的個人助理(你給它的語音命令和它的東西給你:d)。

我發現語音到文本dictate.js。

爲了實現文本到語音功能,我建議您使用谷歌翻譯API。

谷歌的文本到語音API的一個例子:

http://translate.google.com/translate_tts?tl=en&q=Hello

兩個以上解決我的問題爲TTS(文本到語音)和STT(語音到文本)中的節點的webkit。

注意:Google Translate API每個請求最多隻允許有100個字符。所以如果你有一個很大/很長的文本需要轉換成語音,你必須把它分解成100個字符的句子,同時保留整個單詞和標點符號。

希望這有助於! 乾杯!

+0

我會檢查...謝謝... – balaphp

0

我一直嘗試使用NW創建一個盲人應用程序,並且遇到同樣的問題。你可以看看https://github.com/nwjs/nw.js/issues/1661

對於生產版本(win64):它工作正常,使用系統語音(旁白)。

促進發展(的archlinux):在運行模式在Linux上,我不得不使用Cylon Speech堵塞系統的聲音進入speechSynthesis。然後,我推出NW命令與此標誌,使演講:

nw . --enable-speech-dispatcher 

使用這種方法,我可以在Linux上有兩種TTS(用於開發)和窗口(用戶)工作的罰款。