如何解决ASP.NEt MVC文本到语音
| 我们有一个MVC网站,现在我们想添加一个功能,使我们能够在客户端读取文本。我们显示一组发票,并且我们想读出发票明细。我知道您可以将System.Speech库与桌面应用程序一起使用,以通过传递要读取的详细信息来实现此目的,但是没有人知道我们如何在MVC项目中做到这一点。解决方法
好吧,这只是我的脑袋,还没有经过测试,但是您可以执行以下操作:
public ActionResult Speak(string text)
{
var speech = new SpeechSynthesizer();
speech.Speak(text);
byte[] bytes;
using (var stream = new MemoryStream())
{
speech.SetOutputToWaveStream(stream);
bytes = stream.ToArray();
}
return File(bytes,\"audio/x-wav\");
}
, 我正在研究,发现了这种方式,它类似于John Kalberer的回答:
public async Task<ActionResult> Index()
{
Task<FileContentResult> task = Task.Run(() =>
{
using (var synth = new SpeechSynthesizer())
{
synth.SelectVoice(\"Microsoft Sabina Desktop\");
using (var stream = new MemoryStream())
{
synth.SetOutputToWaveStream(stream);
synth.Speak(\"hola mundo\");
byte[] bytes = stream.GetBuffer();
return File(bytes,\"audio/x-wav\");
}
}
});
return await task;
}
在这种情况下,我使用的是西班牙语音,但是您当然可以选择自己的语音,也可以避开synth.SelectVoice
并使用预先确定的
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。