最近在做微信公众号开发的时候遇到一个问题,就是微信接收到语音消息的格式为amr,在网页上通常不能直接播放,需要先转为mp3,于是找到了一个办法,使用ffmpeg.exe,网上可以搜一下ffmpeg.exe的使用方法,包括了各种语音、视频的转换,下面给出.net中amr转mp3的例子给大家参考,未做整理,直接copy项目中的代码,调用ConvertAmrToMp3方法,若要实现更多的转换请修改命令即可
/// <summary> /// 将Amr音频转成mp3 /// </summary> /// <param name="fileName">转换前的文件路径</param> /// <param name="targetFilName">转换后的文件路径</param> public static void ConvertAmrToMp3(string fileName, string targetFilName) { StartProcess(AppDomain.CurrentDomain.BaseDirectory + @"ffmpeg.exe", string.Format("-i "{0}" "{1}"", fileName, targetFilName)); // 压缩MP3 //StartProcess(AppDomain.CurrentDomain.BaseDirectory + @"ffmpeg.exe", string.Format(@"-i {0} -ac 1 -ar 8000 -ab 7950 -y {1}", fileName, targetFilName)); } //执行转换 private static void StartProcess(string fileName, string args) { Process process = Process.Start(new ProcessStartInfo { FileName = fileName, Arguments = args, UseShellExecute = false, RedirectStandardInput = false, RedirectStandardOutput = false, CreateNoWindow = true }); process.WaitForExit(); process.Close(); }