首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >SpeechSynthesizer -如何播放/保存wav文件?

SpeechSynthesizer -如何播放/保存wav文件?
EN

Stack Overflow用户
提问于 2009-11-12 03:56:22
回答 1查看 3.6K关注 0票数 0

我在一个ASP.NET应用程序中有以下代码片段(非Silverlight)

代码语言:javascript
复制
 string sText = "Test text";
 SpeechSynthesizer ss = new SpeechSynthesizer();
 MemoryStream ms = new MemoryStream();
 ss.SetOutputToWaveStream(ms);
 ss.Speak(sText);
 //Need to send the ms Memory stream to the user for listening/downloadin

我如何:

  1. 在浏览器
  2. 提示下播放此文件,以便用户下载wav文件?

有人能帮忙完成代码吗?

编辑:非常感谢任何帮助.

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2009-11-12 04:23:36

这里是IHttpHandler的主要部分,它可以实现您想要的功能。将处理程序URL插入play标记或将其输送到任何要在浏览器中播放的内容,并添加查询字符串检查"downloadFile“var或其他内容,以便有条件地添加内容处理:附件;filename=whatever.wav标题(如果您想下载)。没有必要使用中间文件(尽管如果不运行在另一个线程上,SetOutputToWaveStream就会失败)。

代码语言:javascript
复制
    public void ProcessRequest(HttpContext context)
    { 
        MemoryStream ms = new MemoryStream();

        context.Response.ContentType = "application/wav";

        Thread t = new Thread(() =>
            {
                SpeechSynthesizer ss = new SpeechSynthesizer();
                ss.SetOutputToWaveStream(ms);
                ss.Speak("hi mom");
            });
        t.Start();

        t.Join();
        ms.Position = 0;
        ms.WriteTo(context.Response.OutputStream);
        context.Response.End();
    }
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/1719780

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档