C# SpeechSynthesizer 导致服务无响应
我有以下代码
[WebMethod]
public byte[] stringToWav(string text)
{
SpeechSynthesizer ss = new SpeechSynthesizer();
MemoryStream ms = new MemoryStream();
ss.SetOutputToWaveStream(ms);
ss.Speak(text);
return ms.ToArray();
}
,该服务没有返回任何内容。知道为什么会发生这种情况吗?
I have the folowing code
[WebMethod]
public byte[] stringToWav(string text)
{
SpeechSynthesizer ss = new SpeechSynthesizer();
MemoryStream ms = new MemoryStream();
ss.SetOutputToWaveStream(ms);
ss.Speak(text);
return ms.ToArray();
}
and the service returns nothing. Any idea why this happens?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
我在 ashx 页面上遇到了同样的问题。
我不明白为什么,但似乎你需要使用一个单独的线程并等待它完成。
以下代码对我有用:
I ran into the same exact problem with an ashx page.
I don't understand exactly why, but it seems that you need to use a separate thread and wait for it to complete.
The following code worked for me:
您是否调试并检查了
ms.ToArray()
的值?使用ms.ToByteArray()
可能会运气更好。Have you debugged and checked the value of
ms.ToArray()
? You might have better luck withms.ToByteArray()
.