我正在使用Silverlight 4.0創建將文本轉換爲語音的應用程序。我發現可以使用的兩個選項是:Textlight在Silverlight 4中的語音轉換4
- 在客戶端使用TTS,這需要應用程序運行OOB。另外,由於它使用本地Windows組件,因此不能用於任何其他平臺(MAC)。
- 在WCF端使用TTS轉換。這又要求WCF服務在IIS上使用本地系統帳戶爲應用程序池進行託管。
是否有其他選項,我們不必提供提升的權限?
我正在使用Silverlight 4.0創建將文本轉換爲語音的應用程序。我發現可以使用的兩個選項是:Textlight在Silverlight 4中的語音轉換4
是否有其他選項,我們不必提供提升的權限?
另一個好的解決方法是使用谷歌TTS - http://translate.google.com/translate_tts
的代碼會是這樣的:
string url = string.Format("http://translate.google.com/translate_tts?tl=en&q={0}", textToSay);
WebClient client = new WebClient();
return client.DownloadData(url);
如果使用silverlight,從上面的代碼中提取的數據(以字節數組形式)可以設置爲媒體元素的源,並轉換爲如下的多個流:
_audioPlayer.SetSource(new MemoryStream(textToSpeech));
其中textToSpeech是從谷歌tts返回的字節數組。
必應翻譯器服務有幾種語言的TTS。也許有可能在沒有翻譯的情況下使用TTS部分。本博客文章解釋如何調用該服務,並從Silverlight的執行TTS: http://timheuer.com/blog/archive/2010/03/22/silverlight-translator-text-to-speech-api.aspx