9 votes

Conversion de données mp3 en données wav C#

Dans mon projet, je reçois des données mp3 dans un tableau d'octets. Je veux convertir ces données au format wav et les stocker dans un autre tableau d'octets. J'ai cherché sur Internet des convertisseurs mp3 vers wav, mais ils sont tous compatibles avec la conversion de fichier à fichier. Aucun d'entre eux ne semble prendre des données brutes en entrée. Existe-t-il un moyen de réaliser cela en C# ?
Voici le protoype de la fonction que j'essaie de créer.

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

22voto

C'est une réponse tardive, mais je viens de trouver la solution moi-même. Il existe un paquet NuGet appelé NAudio, https://www.nuget.org/packages/NAudio/ Cela fournit une fonctionnalité impressionnante pour ce que vous voulez faire.

    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);
            }
        }
    }

Et voilà.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X