8

在我的项目中,我正在接收字节数组中的 mp3 数据。我想将该数据转换为 wav 格式并将其存储在另一个字节数组中。我在互联网上搜索了 mp3 到 wav 转换器,但它们都支持文件到文件的转换。他们似乎都没有将原始数据作为输入。有什么办法可以在 C# 中实现这一点?
这是我要创建的函数的原型。

   bool ConvertToWav(byte[] buffer){
      //Do some processing and store the wav data in buffer2
      Buffer.BlockCopy(buffer2,0,buffer,0,buffer.Length-1);
   }
4

1 回答 1

21

这是相当晚的回应,但我自己才弄清楚。有一个名为 NAudio 的 NuGet 包,https: //www.nuget.org/packages/NAudio/ 这为您想要做的事情提供了很棒的功能。

    using NAudio.Wave;        

    private static void ConvertMp3ToWav(string _inPath_, string _outPath_)
    {
        using (Mp3FileReader mp3 = new Mp3FileReader(_inPath_))
        {
            using (WaveStream pcm = WaveFormatConversionStream.CreatePcmStream(mp3))
            {
                WaveFileWriter.CreateWaveFile(_outPath_, pcm);
            }
        }
    }

你去吧。

于 2015-10-12T19:43:44.627 回答