1、首先介绍一种NAudio 的方式
需要导入 NAudio.dll
下面请看核心代码
1 using (WaveFileReader reader = new WaveFileReader(in_path + "\\" + in_fname)) //文件的路径 2 { 3 var newFormat = new WaveFormat(8000, 8, 1); //设置转换的kbps 4 using (var pcmStream = new WaveFormatConversionStream(newFormat, reader)) 5 { 6 WaveFileWriter.CreateWaveFile(in_path + "\\n" + in_fname, pcmStream); //输出wav文件 7 } 8 }
操作简单, 方便 。
第二种 FFmpeg是一套可以用来记录、转换数字音频、视频,并能将其转化为流的开源计算机程序。 格式工厂就是使用的这个转换工具
下面请看核心代码
ProcessStartInfo psi = new ProcessStartInfo(); psi.UseShellExecute = false; psi.CreateNoWindow = true; psi.WindowStyle = ProcessWindowStyle.Hidden; psi.FileName = Application.StartupPath + @"\ffmpeg.exe"; //设置exe位置 psi.Arguments = " -i " + in_path + "\\" + in_fname + " -f wav -ab 64 " + in_path + "\\n" + in_fname + " -y"; //ffmpeg命令 ,其它操作请baidu命令 Process p = Process.Start(psi); p.Close(); p.Dispose();
还可以用cmd 的方式进行使用
ffmpeg.exe -i 1.wav -f wav -ab 64 n1.wav -y
两种方式均可完成转换, 但个人建议使用ffmpeg.exe
原文:http://www.cnblogs.com/farmer-y/p/7833719.html