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 ...
- 如何提取音频中的文字?音频文件如何转换成文字?
在现代社会,随着语音识别技术的不断发展,我们能够通过将音频转换成文字来更加方便地记录会议.演讲等场合中的内容.那么如何提取音频中的文字?音频文件如何才能转换成文字呢?本文将会介绍一种非常实用的实现方法 ...
- 音频文件怎么转换成文字?一个工具,轻松帮你解决
有时候我们会用录音笔记录一些信息,但是想把录音笔中的音频整理成文字的时候就比较麻烦,通常我们一般都是一边听一边手写记录的,但是这种记录方式耗费的时间特别的长,下面我就教大家一个快速把音频转为文字的方法 ...
最新文章
- 权限执行[Android开发常见问题-4] RunTime.exec()如何以root权限执行多条指令?
- 利用windbg探索进程和进程上下文
- 深入理解缓存系统|单机QPS突破千万优化之路
- 在c++中使用for循环遍历map并删除map中的元素的注意事项
- Wtm Blazor来了!
- java 类 加载 初始化_java中类的初始化和加载
- 社会工程学***的八种常用方法
- 20个命令行工具监控 Linux 系统性能
- 数字信号处理(DSP)实验——IIR数字滤波器设计与仿真
- 代码比对工具-Diffmerge
- 黑客为“炫技”随机攻击,结果被“顺着网线”抓了
- linux生成相同文件名覆盖吗,去掉Linux中cp覆盖同名文件的提示
- CBAM(Convolutional Block Attention Module)
- 夏雨老师:告诉你常见颜色对人心理上的影响
- 流媒体服务器主板型号怎么看,玩转NAS 篇五:双2.5G接口+J4125处理器,对于NAS意味着什么?威联通453Dmini对比453Bmini...
- 有关ros kinetic无法安装报错unmet dependencies及解决
- Android使用MediaPlayer播放流媒体,支持远程以及本地流媒体,一行代码实现
- Linux中/proc/pid/status信息含义
- 单点登录(一)-----理论-----单点登录SSO的介绍和CAS+选型
- 类似于快手、美拍、抖音短视频录制SDK接入教程
热门文章
- 从键盘输入两个整数,计算其乘积
- JAVA蘑菇西餐,今天为大家推荐一道非常好吃的西餐,蘑菇鸡扒
- 四旋翼 PID 控制
- 科技感的全息宴会厅,成为更多年轻人的选择
- 今日头条极速版自动脚本_今日头条极速版多开软件,这个工具造福广大自媒体人!...
- 前端全屏滚动学习总结
- Java开发需要学习哪些知识?初学者怎么学好Java开发?
- 计算机ct检查,什么是CT检查?CT检查设备介绍
- 用python实现二次函数的求导、求梯度、Hesse矩阵、求模
- 极乐迪斯科(风格) | Disco Elysium – Style LoRA