最近在做微信公众号开发的时候遇到一个问题,就是微信接收到语音消息的格式为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();

        }