如何将所有类型(音频*)转换为 mp3?使用 FFMPEG

Posted

技术标签:

【中文标题】如何将所有类型(音频*)转换为 mp3?使用 FFMPEG【英文标题】:How to convert all types (audio*) to mp3 ? Using FFMPEG 【发布时间】:2017-03-11 09:21:45 【问题描述】:

是否可以将所有音频转换为 mp3?

System.Diagnostics.Process proc = new System.Diagnostics.Process();
                    proc.EnableRaisingEvents = false;
                    proc.StartInfo.FileName = @"""C:\ffmpeg\bin\ffmpeg.exe""";
                    proc.StartInfo.Arguments = "-i C:\\Matheus\\Matheus_Project\\Matheus_Project\\App_Data\\" + User.Identity.Name + "\\" + fileNameAndType + " -acodec libmp3lame -ab 128k C:\\Matheus\\Matheus_Project\\Matheus_Project\\App_Data\\" + User.Identity.Name + "\\" + fileName + ".mp3";  /* use /y to overwrite if there it exists already or will fail */
                    proc.StartInfo.UseShellExecute = false;
                    proc.StartInfo.CreateNoWindow = false;
                    proc.StartInfo.RedirectStandardOutput = true;
                    proc.StartInfo.RedirectStandardError = true;
                    proc.Start();

                    var output = proc.StandardOutput.ReadToEnd();
                    string output_error = proc.StandardError.ReadToEnd();

                    proc.WaitForExit();
                    proc.Close();

例子:

音频/x-m4a 转 mp3

音频/mp4 转 mp3

音频/基本到 mp3

音频/L24 转 mp3

音频/中转mp3

音频/x-aiff 转 mp3

音频/x-mpegurl 转 mp3

audio/vnd.rn-realaudio 转 mp3

音频/ogg 转 mp3

音频/vorbis 转 mp3

audio/vnd.wav 转 mp3

有什么想法吗?

【问题讨论】:

但是,您的代码是否有效?...另外,您是否检查了此问答:***.com/questions/3255674/… 【参考方案1】:

public void ConvertWavToMp3(字符串文件名) 尝试 string Flacfilename = AppDomain.CurrentDomain.BaseDirectory + "FlacRecording";

            ProcessStartInfo psi = new ProcessStartInfo();
            psi.UseShellExecute = false;
            psi.CreateNoWindow = true;
            psi.WindowStyle = ProcessWindowStyle.Hidden;
            psi.FileName = AppDomain.CurrentDomain.BaseDirectory + @"lame.exe";
            psi.Arguments = "-b" + "128" + " --resample " + "22.05" + " -m j " +
                           "\"" + filename + "\"" + " " +
                            "\"" + Flacfilename + "\\" + Path.GetFileNameWithoutExtension(filename) + ".mp3" + "\"";


            Process p = Process.Start(psi);
            p.WaitForExit();
            p.Close();
            p.Dispose();


        
        catch (Exception ae)
        
        

    

下载 lame.exe 并将其放入您的应用程序中,并使用带有 wav 文件名的完整路径调用 abover 函数。

【讨论】:

以上是关于如何将所有类型(音频*)转换为 mp3?使用 FFMPEG的主要内容,如果未能解决你的问题,请参考以下文章

如何使用 NAudio 将任何音频格式转换为 mp3

如何在android中以编程方式将音频.mp3转换为.m4a

如何将flac格式的音频文件转换为MP3格式?

如何使用内存流、NAudio 和 LameMP3 将音频 aiff 转换为 MP3

如何使用 React JS 将 WEBA 或 Opus 音频文件转换为 Mp3?

IBM 语音转文本 - 如何将 MP3 音频文件转换为字节数组