2012-10-05 86 views
0

我想播放用戶上傳的音頻。上傳的音頻將採用任何格式。 有沒有辦法將任何音頻文件轉換成MP3格式?如何將任何音頻格式轉換爲使用C#的MP3

+1

[轉換音頻文件轉換成MP3格式,使用C#]可能重複(http://stackoverflow.com/questions/ 2324926/convert-audio-file-into-mp3-format-using-c-sharp) – Jeremy

+1

傑里米擊敗了我的鏈接。 – MyCodeSucks

回答

5

您可以使用此功能 - 基於alvas component

鏈接:http://alvas.net/alvas.audio,tips.aspx#tip24

private void ConvertAudio() 
    { 
     string webFile = @"D:\AudioCS\bin\Debug\_web.mp3"; 
     string pcmFile = @"D:\AudioCS\bin\Debug\_AudioCS.wav"; 
     using (WaveReader wr = new WaveReader(File.OpenRead(pcmFile))) 
     { 
      IntPtr pcmFormat = wr.ReadFormat(); 
      byte[] pcmData = wr.ReadData(); 
      IntPtr webFormat = AudioCompressionManager.GetCompatibleFormat(pcmFormat, 
      AudioCompressionManager.MpegLayer3FormatTag); 
      byte[] webData = AudioCompressionManager.Convert(pcmFormat, webFormat, 
      pcmData, false); 
      MemoryStream ms = new MemoryStream(); 

      using (WaveWriter ww = new WaveWriter(ms, 
      AudioCompressionManager.FormatBytes(webFormat))) 
      { 
       ww.WriteData(webData); 
       using (WaveReader wr2 = new WaveReader(ms)) 
       { 
        using (FileStream fs = File.OpenWrite(webFile)) 
        { 
         wr2.MakeMP3(fs); 
        } 
       } 
      } 
     } 
    } 
+0

謝謝,但我無法將ogg文件轉換爲mp3。 – Sudha

+0

使用DsReader代替WaveReader。請參閱http://alvas.net/alvas.audio,tips.aspx#tip55 – Aleks

相關問題