花了三天才做出来这么个小东西,其中碰到了好多意向不到的问题与难题,直接看代码吧还是。其中需要DotNetSpeech.dll(生成因文件)和lame_enc.dll(用于音频格式的转换)两个类库,还需要一个lame.exe运行程序,这个也是为了音频格式的转换。刚开始写,写的可能有点乱,但是这些代码都是完全可以运行的,如有不合适的地方,谢谢各位大神的指导!我把用到的几个类库都打包了,有需要的可以下载,谢谢!

/// 生成声音文件
    /// 要朗读的文本
    /// 生成声音文件的路径
    /// 生成声音文件的名称
    private void CreateFile(string text, string filePath, string fileName)
    {
        if (!Directory.Exists(filePath))
        Directory.CreateDirectory(filePath);
        SpVoice sv = new SpVoice();
        SpeechVoiceSpeakFlags SVSF = SpeechVoiceSpeakFlags.SVSFlagsAsync;
        SpeechStreamFileMode SSFM = SpeechStreamFileMode.SSFMCreateForWrite;
        SpFileStream SFS = new SpFileStream();
        sv.Rate = -5;
        //删除已经存在的音频文件
        if (File.Exists(filePath + fileName))
        {
            File.Delete(filePath + fileName);
        }

//生成音频文件,用于唱标
        SFS.Open(filePath + fileName, SSFM, false);

sv.AudioOutputStream = SFS;
        sv.Speak(text, SVSF);
        sv.WaitUntilDone(System.Threading.Timeout.Infinite);
        SFS.Close();
        //将wav格式的音频文件转换为mp3格式
        string outfile = "-b 32 --resample 22.05 -m m \"" + filePath + fileName + "\" \"" + filePath + fileName.Replace(".wav", ".mp3") + "\"";
        System.Diagnostics.ProcessStartInfo psi = new System.Diagnostics.ProcessStartInfo();
        psi.FileName = Server.MapPath("./SingOpenBidInfo/") + "lame.exe";
        psi.Arguments = outfile;
        psi.WindowStyle = System.Diagnostics.ProcessWindowStyle.Minimized;
        System.Diagnostics.Process p = System.Diagnostics.Process.Start(psi);
        //p.Exited = new EventHandler()
        p.WaitForExit();
        p.EnableRaisingEvents = true;

//删除已经存在的音频文件
        if (File.Exists(filePath + fileName))
        {
            File.Delete(filePath + fileName);
        }
    }

调用的方法如下;

{

//生成音频文件

//绝对路劲
        CreateFile(context, "C:/SingOpenBidInfo/",  "lrh.wav");

//相对路径
        CreateFile(context, Server.MapPath("./SingOpenBidInfo/"), bidPackageID + ".wav");

}

C#生成音频文件以及转换成需要的格式相关推荐

  1. 音频文件变成html文档,C#生成音频文件以及转换成需要的格式

    花了三天才做出来这么个小东西,其中碰到了好多意向不到的问题与难题,直接看代码吧还是.其中需要DotNetSpeech.dll(生成因文件)和lame_enc.dll(用于音频格式的转换)两个类库,还需 ...

  2. 三招让你学会,其他音频文件怎么转换成mp3格式

    音频文件转换为mp3格式是非常常见的操作,因为mp3是一种广泛使用的音频格式,支持多种设备和应用程序.本文将介绍三种不同的方法,让你知道音频文件怎么转换成mp3格式,帮助您将音频文件转换为mp3格式. ...

  3. 教你如何快速将音频文件AAC转换成MP3格式

    怎么将音频文件AAC转换成MP3格式呢?电脑上我们用的最多的音乐播放器就是QQ音乐了,不管是手机还是电脑大部分的人都会选择它,听音乐享受音乐是生活中不可缺少的部分,假设我们在下载自己喜欢的音乐时候,发 ...

  4. 如何在线将CAD图纸文件进行转换成黑白PNG格式?

    如何在线将CAD图纸文件进行转换成黑白PNG格式?将CAD图纸文件进行格式间的转换操作在工作中经常需要进行的,那么我们一般使用的都是PC端上面的软件来进行,但是我们现在想要在线将图纸进行转换的操作,能 ...

  5. 音频文件如何转换成MP3格式?一分钟教你搞定

    随着数字化的不断发展,人们日常生活中使用音频文件的频率也越来越高.然而,不同的设备和软件对音频文件格式的支持并不一致,因此,有时需要将音频文件进行转换.将音频文件转换成MP3格式是一种常见的需求,因为 ...

  6. 将pdf转换html_pdf文件怎么转换成html网页格式?用什么方法来转换?

    pdf转换成html已经是日常工作很常见的需求了,如果你还在手动转换,不仅耗时间而且又不准确这样我们的效率往往会最低,掌握快速将pdf文件转html网页的巧妙方法可以大大提高我们的工作效率这样我们就可 ...

  7. 把cad文件怎样转换成jpg图片格式

    很多人在用CAD软件对文件进行绘图设计,完成之后,我们需要发送给客户或者其他人,这个时候就需要将CAD文件格式转换成JPG图片格式,方便客户的浏览. 然而转换的时候都是多个文件转换,在不仅是CAD转J ...

  8. 如何提取音频中的文字?音频文件如何转换成文字?

    在现代社会,随着语音识别技术的不断发展,我们能够通过将音频转换成文字来更加方便地记录会议.演讲等场合中的内容.那么如何提取音频中的文字?音频文件如何才能转换成文字呢?本文将会介绍一种非常实用的实现方法 ...

  9. 音频文件怎么转换成文字?一个工具,轻松帮你解决

    有时候我们会用录音笔记录一些信息,但是想把录音笔中的音频整理成文字的时候就比较麻烦,通常我们一般都是一边听一边手写记录的,但是这种记录方式耗费的时间特别的长,下面我就教大家一个快速把音频转为文字的方法 ...

最新文章

  1. 这三天低效率开发的总结,我都做了些什么啊?
  2. Linux入门!Linux无法联网解决办法!CentOS7、VMPlayer、VMWareWorkstation16资源!VMWareWorkstation16序列号!VMware安装Centos7!
  3. Bash Cookbook 学习笔记 【高级】
  4. 日志信息jar包 slf4j-api、slf4j-log4j12、log4j 之间的关系和使用
  5. MySql 中文乱码排查解决方案
  6. java web应用开发_Java Web应用开发基础
  7. SAP CRM WebClient UI里的文件是如何上传到ABAP Netweaver后台的
  8. nodejs写html文件路径,Nodejs读取文件时相对路径的正确写法(使用fs模块)
  9. Linux磁盘分区/格式化/挂载目录
  10. 64位BASM学习随笔(一)
  11. Scrapy 简介及初探
  12. 加拿大28历史开奖鸿蒙,本内特入选加拿大男篮集训名单,史上最水状元秀如今在何处?...
  13. springMVC中ajax的实现
  14. Linux操作系统中ps命令常见用法
  15. ffmpeg 音乐循环_Android使用FFmpeg(四)--ffmpeg实现音频播放(使用AudioTrack进行播放)
  16. OTO电子商务商业模式探析
  17. Leet Code OJ 刷题顺序参考
  18. Android航班时刻查询
  19. 24点游戏的递归解法和Python实现
  20. YII2 beforeSave 的应用

热门文章

  1. 弘辽科技:淘宝店铺至关重要的优化技巧总结
  2. kali 2020 安装最新版linuxQQ
  3. 积木法搭建 iOS 应用—— VIPER
  4. 关于ViewPager嵌套ViewPager左右滑动冲突解决方法
  5. Navicat Premium 15数据库视图化软件最新安装详细教程讲解
  6. Solution enabler和power path的一些命令
  7. Google所有服务列表
  8. sublime text html5插件,Sublime Text一些常用插件
  9. 工作展望简短_新一年工作展望短句
  10. spring第五版学习笔记