音频文件变成html文档,C#生成音频文件以及转换成需要的格式
花了三天才做出来这么个小东西,其中碰到了好多意向不到的问题与难题,直接看代码吧还是。其中需要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#生成音频文件以及转换成需要的格式相关推荐
- java将数据库数据转换成word文档并且生成pdf文件
目的:将数据转换成word图片的方式展现给用户 工具:openoffice +java代码 +数据库,其中openoffice有windows版本的和Linux版本的. 其中openoffice的下载 ...
- u盘中毒文件为html文档,u盘中毒文件被隐藏怎么办【解决方法】
导读:U盘是我们生活当中存储.备份以及拷贝文件的好帮手,它是我们经常使用到的存储设备,它最大的优点就是携带非常方便,而且可以存储一些容量较大的文件,一般情况下,我们会将一些比较重要的文件存储备份在U盘 ...
- u盘中毒文件为html文档,u盘中毒文件被隐藏了?教你如何快速恢复隐藏文件
我们使用U盘来拷贝资料,由于经常要插到不同的设备上使用,有时候不小心U盘就中毒了,U盘里的文件被病毒隐藏了,问小编能不能恢复?这种情况可不能掉以轻心呀!下面小编带你一起解决u盘文件被隐藏的恢复方法. ...
- PowerDesigner(九)-模型文档编辑器(生成项目文档)
模型文档编辑器 PowerDesigner的模型文档(Model Report)是基于模型的,面向项目的概览文档,提供了灵活,丰富的模型文档编辑界面,实现了设计,修改和输出模型文档的全过程. 模型文 ...
- 九、模型文档编辑器(生成项目文档)
模型文档编辑器 PowerDesigner的模型文档(Model Report)是基于模型的,面向项目的概览文档,提供了灵活,丰富的模型文档编辑界面,实现了设计,修改和输出模型文档的全过程. 模型文 ...
- 【使用分享】一文掌握Aspose.Words for Java,实现Word文档的生成与操作
Aspose.Words for Java是一个功能强大的Java Word文档处理组件,支持文档的生成.修改.转换.渲染等功能.本文将为您全面介绍Aspose.Words的主要功能与用法. 一.文档 ...
- html文档生成pdf离线文件,将Swagger2文档导出为HTML或markdown等格式离线阅读解析.pdf...
将将Swagger2文文档档导导出出为为HTML或或markdown等等格格式式离离线线阅阅读读解解析析 网上有很多 <使用swagger2构建A PI文档>的文章,该文档 一个在线文档, ...
- Spring Boot 2.x基础教程:Swagger静态API文档的生成
点击蓝色"程序猿DD"关注我 回复"资源"获取独家整理的学习资料! 作者 | 翟永超 来源 | didispace.com/spring-boot-learni ...
- Spring Boot 2.x基础教程:Swagger静态文档的生成
前言 通过之前的两篇关于Swagger入门以及具体使用细节的介绍之后,我们已经能够轻松地为Spring MVC的Web项目自动构建出API文档了.如果您还不熟悉这块,可以先阅读: Spring Boo ...
最新文章
- actions相互调用并且存在顺序
- mybatis报错Type interface xxx.Dao is not known to the MapperRegistry
- ASP.NET AJAX Debugging and Tracing
- 微信小程序开发工具最新版本已更新下载(1.02.1804120)
- Linux(Centos)服务器时间校准
- Windbg线上问题分析:生产环境应用高CPU问题分析
- 中学生应具备的良好的学习习惯
- 题都城南庄---中华诗词-唐五代-崔护
- python绝技运用python成为顶级pdf_python绝技运用Python成为顶级黑客PDF高清文档免费下载...
- FMCW雷达距离多普勒(RDM)处理方法中距离分辨率和速度分辨率的推导
- 极客算法训练笔记(六),十大经典排序之希尔排序,快速排序
- lecture09 Convex 模型预测控制(MPC)
- 华为RS升级变成datacome的问题
- 个人购买的域名(需要公网服务器)快速配置免费的HTTPS证书【有手就行】
- 线程局部变量 ThreadLocal
- GSM上行频率和下行频率、3G频率分配
- 微信小程序周日历制作
- 计算机控制技术第二章,计算机控制技术第二章习题答案整理及详解(修改版SK).doc...
- RuoYi-Vue-Plus需要的nodejs版本
- Loki+Promtail+Grafana