花了三天才做出来这么个小东西,其中碰到了好多意向不到的问题与难题,直接看代码吧还是。其中需要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");

}

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

  1. java将数据库数据转换成word文档并且生成pdf文件

    目的:将数据转换成word图片的方式展现给用户 工具:openoffice +java代码 +数据库,其中openoffice有windows版本的和Linux版本的. 其中openoffice的下载 ...

  2. u盘中毒文件为html文档,u盘中毒文件被隐藏怎么办【解决方法】

    导读:U盘是我们生活当中存储.备份以及拷贝文件的好帮手,它是我们经常使用到的存储设备,它最大的优点就是携带非常方便,而且可以存储一些容量较大的文件,一般情况下,我们会将一些比较重要的文件存储备份在U盘 ...

  3. u盘中毒文件为html文档,u盘中毒文件被隐藏了?教你如何快速恢复隐藏文件

    我们使用U盘来拷贝资料,由于经常要插到不同的设备上使用,有时候不小心U盘就中毒了,U盘里的文件被病毒隐藏了,问小编能不能恢复?这种情况可不能掉以轻心呀!下面小编带你一起解决u盘文件被隐藏的恢复方法. ...

  4. PowerDesigner(九)-模型文档编辑器(生成项目文档)

    模型文档编辑器 PowerDesigner的模型文档(Model  Report)是基于模型的,面向项目的概览文档,提供了灵活,丰富的模型文档编辑界面,实现了设计,修改和输出模型文档的全过程. 模型文 ...

  5. 九、模型文档编辑器(生成项目文档)

    模型文档编辑器 PowerDesigner的模型文档(Model  Report)是基于模型的,面向项目的概览文档,提供了灵活,丰富的模型文档编辑界面,实现了设计,修改和输出模型文档的全过程. 模型文 ...

  6. 【使用分享】一文掌握Aspose.Words for Java,实现Word文档的生成与操作

    Aspose.Words for Java是一个功能强大的Java Word文档处理组件,支持文档的生成.修改.转换.渲染等功能.本文将为您全面介绍Aspose.Words的主要功能与用法. 一.文档 ...

  7. html文档生成pdf离线文件,将Swagger2文档导出为HTML或markdown等格式离线阅读解析.pdf...

    将将Swagger2文文档档导导出出为为HTML或或markdown等等格格式式离离线线阅阅读读解解析析 网上有很多 <使用swagger2构建A PI文档>的文章,该文档 一个在线文档, ...

  8. Spring Boot 2.x基础教程:Swagger静态API文档的生成

    点击蓝色"程序猿DD"关注我 回复"资源"获取独家整理的学习资料! 作者 | 翟永超 来源 | didispace.com/spring-boot-learni ...

  9. Spring Boot 2.x基础教程:Swagger静态文档的生成

    前言 通过之前的两篇关于Swagger入门以及具体使用细节的介绍之后,我们已经能够轻松地为Spring MVC的Web项目自动构建出API文档了.如果您还不熟悉这块,可以先阅读: Spring Boo ...

最新文章

  1. actions相互调用并且存在顺序
  2. mybatis报错Type interface xxx.Dao is not known to the MapperRegistry
  3. ASP.NET AJAX Debugging and Tracing
  4. 微信小程序开发工具最新版本已更新下载(1.02.1804120)
  5. Linux(Centos)服务器时间校准
  6. Windbg线上问题分析:生产环境应用高CPU问题分析
  7. 中学生应具备的良好的学习习惯
  8. 题都城南庄---中华诗词-唐五代-崔护
  9. python绝技运用python成为顶级pdf_python绝技运用Python成为顶级黑客PDF高清文档免费下载...
  10. FMCW雷达距离多普勒(RDM)处理方法中距离分辨率和速度分辨率的推导
  11. 极客算法训练笔记(六),十大经典排序之希尔排序,快速排序
  12. lecture09 Convex 模型预测控制(MPC)
  13. 华为RS升级变成datacome的问题
  14. 个人购买的域名(需要公网服务器)快速配置免费的HTTPS证书【有手就行】
  15. 线程局部变量 ThreadLocal
  16. GSM上行频率和下行频率、3G频率分配
  17. 微信小程序周日历制作
  18. 计算机控制技术第二章,计算机控制技术第二章习题答案整理及详解(修改版SK).doc...
  19. RuoYi-Vue-Plus需要的nodejs版本
  20. Loki+Promtail+Grafana

热门文章

  1. 计算机考研复试上机技巧
  2. k8s 1.23 使用 helm3部署traefik2
  3. 知识直播:时代乐见搜狐的长期主义选择
  4. 奇妙的傅里叶变换,原来是这样子滴!
  5. 博通仍然是美股市场最好的芯片半导体股
  6. 【转载】用TLC2543和TLV5618加P521打造隔离的单片机模拟输入输出系统
  7. 使用SCCM管理Office ProPlus(三)--部署Office ProPlus(上)
  8. 如何使用命令行,在云端MySQL导入数据库脚本或者数据库表
  9. linux top命令单位,linux top 命令详解
  10. matlab 求解矩阵的范式,范式计算器matlab代码