Silverlight 4 中的文本转语音

发布于 2024-12-09 07:52:21 字数 243 浏览 1 评论 0原文

我正在创建一个使用 silverlight 4.0 将文本转换为语音的应用程序。我发现可以使用的两个选项是:

  1. 在客户端使用 TTS,这要求应用程序以 OOB 方式运行。此外,由于它使用本机 Windows 组件,因此不能在任何其他平台 (MAC) 中使用。
  2. 在WCF端使用TTS转换。这再次需要使用应用程序池的本地系统帐户在 IIS 上托管 WCF 服务。

还有其他我们不必提供提升权限的选项吗?

I am creating an application which converts text to speech using silverlight 4.0. Two options which I found can be used are:

  1. Use TTS at client side, which requires the application to be run OOB. Also since it uses native windows components, can't be used in any other platforms (MAC).
  2. Use TTS conversion at WCF end. This again requires the WCF service to be hosted on IIS with Local System account for application pool.

Are there any other options in which we dont have to provide the elevated permissions?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

娇女薄笑 2024-12-16 07:52:21

Bing 翻译服务提供多种语言的 TTS。也许可以只使用 TTS 部分而不进行翻译。这篇博文解释了如何从 Silverlight 调用该服务并执行 TTS:
http://timheuer.com /blog/archive/2010/03/22/silverlight-translator-text-to-speech-api.aspx

The Bing translator service has TTS for several languages. Maybe it is possible to just use the TTS part without the translation. This blog post explains how to call the service and perform TTS from Silverlight:
http://timheuer.com/blog/archive/2010/03/22/silverlight-translator-text-to-speech-api.aspx

帅气尐潴 2024-12-16 07:52:21

另一个好的解决方案是使用 google 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,则可以将从上述代码中获取的数据(以字节数组形式)设置为媒体元素的源,并转换为 memore 流,如下所示:

_audioPlayer.SetSource(new MemoryStream(textToSpeech));

其中 textToSpeech 是从返回的字节数组谷歌 tts。

Another good solution is using google TTS - http://translate.google.com/translate_tts

The code would be like this:

string url = string.Format("http://translate.google.com/translate_tts?tl=en&q={0}", textToSay);
WebClient client = new WebClient();
return client.DownloadData(url);

If using silverlight, the data which is fetched from the above code(in byte array), can be set as the source of media element with converting to memore stream as below:

_audioPlayer.SetSource(new MemoryStream(textToSpeech));

Where textToSpeech is the byte array as returned from google tts.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文