一、NuGet安裝 NAudio,項目及demo的網址:https://github.com/naudio/NAudiogit
Encode to MP3, WMA and AAC with MediaFoundationEncoder
使用MediaFoundationEncoder將音頻文件編碼爲MP3,WMA,AAC的Demo地址:github
https://github.com/naudio/NAudio/blob/master/Docs/MediaFoundationEncoder.mdide
引用命名空間ui
using NAudio.Wave;編碼
string fromFilePath = @"F:\Test\ffmpegTest\ffmpegTest\audio.wav"; string toFilePath = @"F:\Test\ffmpegTest\ffmpegTest\audio.mp3"; using (var reader = new MediaFoundationReader(fromFilePath)) { MediaFoundationEncoder.EncodeToMp3(reader, toFilePath); }
EncodeToMp3默認使用的碼率是192K
音頻常識之音頻碼率 介紹文章 https://www.douban.com/note/262040939/spa
/// <summary> /// Helper function to simplify encoding to MP3 /// By default, will only be available on Windows 8 and above /// </summary> /// <param name="inputProvider">Input provider, must be PCM</param> /// <param name="outputFile">Output file path, should end with .mp3</param> /// <param name="desiredBitRate">Desired bitrate. Use GetEncodeBitrates to find the possibilities for your input type</param> public static void EncodeToMp3(IWaveProvider inputProvider, string outputFile, int desiredBitRate = 192000) { MediaType mediaType = MediaFoundationEncoder.SelectMediaType(AudioSubtypes.MFAudioFormat_MP3, inputProvider.WaveFormat, desiredBitRate); if (mediaType == null) { throw new InvalidOperationException("No suitable MP3 encoders available"); } using (MediaFoundationEncoder mediaFoundationEncoder = new MediaFoundationEncoder(mediaType)) { mediaFoundationEncoder.Encode(outputFile, inputProvider); } }