2011-10-08 60 views
1

我正在使用Silverlight 4.0創建將文本轉換爲語音的應用程序。我發現可以使用的兩個選項是:Textlight在Silverlight 4中的語音轉換4

  1. 在客戶端使用TTS,這需要應用程序運行OOB。另外,由於它使用本地Windows組件,因此不能用於任何其他平臺(MAC)。
  2. 在WCF端使用TTS轉換。這又要求WCF服務在IIS上使用本地系統帳戶爲應用程序池進行託管。

是否有其他選項,我們不必提供提升的權限?

回答

0

另一個好的解決方法是使用谷歌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返回的字節數組。