2
我希望能够通过调用speak.aspx?text=Hello%20world
在ASP.NET应用程序中生成语音。这会给出.wav
格式的回应。ASP.NET中的语音合成器 - 异步错误
到目前为止,我有一个空白页与后面的代码:
protected void Page_PreRender(object sender, EventArgs e)
{
using (var ss = new SpeechSynthesizer()) {
MemoryStream str = new MemoryStream();
ss.SetOutputToWaveStream(str);
ss.Speak(Server.UrlDecode(Request.QueryString["text"]));
Response.AddHeader("Content-Type", "audio/wav");
str.WriteTo(Response.OutputStream);
str.Close();
}
}
但是这个失败的消息:
出现InvalidOperationException:异步操作都不会在这方面允许的。启动异步操作的页面必须将Async属性设置为true,并且只能在PreRenderComplete事件之前的页面上启动异步操作。
如果我添加Async="true"
到@Page
指令,代码运行,但对于网页无限期挂起的请求。请你能让我知道什么是错的,并显示正确的代码/方法来使用?
注意我不能只使用Google文本到语音API,因为它只允许100个字符或更少的字符串。
谢谢。