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");
}
C#生成音频文件以及转换成需要的格式相关推荐
- 音频文件变成html文档,C#生成音频文件以及转换成需要的格式
花了三天才做出来这么个小东西,其中碰到了好多意向不到的问题与难题,直接看代码吧还是.其中需要DotNetSpeech.dll(生成因文件)和lame_enc.dll(用于音频格式的转换)两个类库,还需 ...
- 三招让你学会,其他音频文件怎么转换成mp3格式
音频文件转换为mp3格式是非常常见的操作,因为mp3是一种广泛使用的音频格式,支持多种设备和应用程序.本文将介绍三种不同的方法,让你知道音频文件怎么转换成mp3格式,帮助您将音频文件转换为mp3格式. ...
- 教你如何快速将音频文件AAC转换成MP3格式
怎么将音频文件AAC转换成MP3格式呢?电脑上我们用的最多的音乐播放器就是QQ音乐了,不管是手机还是电脑大部分的人都会选择它,听音乐享受音乐是生活中不可缺少的部分,假设我们在下载自己喜欢的音乐时候,发 ...
- 如何在线将CAD图纸文件进行转换成黑白PNG格式?
如何在线将CAD图纸文件进行转换成黑白PNG格式?将CAD图纸文件进行格式间的转换操作在工作中经常需要进行的,那么我们一般使用的都是PC端上面的软件来进行,但是我们现在想要在线将图纸进行转换的操作,能 ...
- 音频文件如何转换成MP3格式?一分钟教你搞定
随着数字化的不断发展,人们日常生活中使用音频文件的频率也越来越高.然而,不同的设备和软件对音频文件格式的支持并不一致,因此,有时需要将音频文件进行转换.将音频文件转换成MP3格式是一种常见的需求,因为 ...
- 将pdf转换html_pdf文件怎么转换成html网页格式?用什么方法来转换?
pdf转换成html已经是日常工作很常见的需求了,如果你还在手动转换,不仅耗时间而且又不准确这样我们的效率往往会最低,掌握快速将pdf文件转html网页的巧妙方法可以大大提高我们的工作效率这样我们就可 ...
- 把cad文件怎样转换成jpg图片格式
很多人在用CAD软件对文件进行绘图设计,完成之后,我们需要发送给客户或者其他人,这个时候就需要将CAD文件格式转换成JPG图片格式,方便客户的浏览. 然而转换的时候都是多个文件转换,在不仅是CAD转J ...
- 如何提取音频中的文字?音频文件如何转换成文字?
在现代社会,随着语音识别技术的不断发展,我们能够通过将音频转换成文字来更加方便地记录会议.演讲等场合中的内容.那么如何提取音频中的文字?音频文件如何才能转换成文字呢?本文将会介绍一种非常实用的实现方法 ...
- 音频文件怎么转换成文字?一个工具,轻松帮你解决
有时候我们会用录音笔记录一些信息,但是想把录音笔中的音频整理成文字的时候就比较麻烦,通常我们一般都是一边听一边手写记录的,但是这种记录方式耗费的时间特别的长,下面我就教大家一个快速把音频转为文字的方法 ...
最新文章
- 这三天低效率开发的总结,我都做了些什么啊?
- Linux入门!Linux无法联网解决办法!CentOS7、VMPlayer、VMWareWorkstation16资源!VMWareWorkstation16序列号!VMware安装Centos7!
- Bash Cookbook 学习笔记 【高级】
- 日志信息jar包 slf4j-api、slf4j-log4j12、log4j 之间的关系和使用
- MySql 中文乱码排查解决方案
- java web应用开发_Java Web应用开发基础
- SAP CRM WebClient UI里的文件是如何上传到ABAP Netweaver后台的
- nodejs写html文件路径,Nodejs读取文件时相对路径的正确写法(使用fs模块)
- Linux磁盘分区/格式化/挂载目录
- 64位BASM学习随笔(一)
- Scrapy 简介及初探
- 加拿大28历史开奖鸿蒙,本内特入选加拿大男篮集训名单,史上最水状元秀如今在何处?...
- springMVC中ajax的实现
- Linux操作系统中ps命令常见用法
- ffmpeg 音乐循环_Android使用FFmpeg(四)--ffmpeg实现音频播放(使用AudioTrack进行播放)
- OTO电子商务商业模式探析
- Leet Code OJ 刷题顺序参考
- Android航班时刻查询
- 24点游戏的递归解法和Python实现
- YII2 beforeSave 的应用