NAudio音频文件转换

摘要:
1、NuGet安装NAudio,项目及demo的网址:https://github.com/naudio/NAudioEncodetoMP3,WMAandAACwithMediaFoundationEncoder使用MediaFoundationEncoder将音频文件编码为MP3,WMA,AAC的Demo地址:https://github.com/naudio/NAudio/blob/maste

1、NuGet安装 NAudio,项目及demo的网址:https://github.com/naudio/NAudio

NAudio音频文件转换第1张

Encode to MP3, WMA and AAC with MediaFoundationEncoder

使用MediaFoundationEncoder将音频文件编码为MP3,WMA,AAC的Demo地址:

https://github.com/naudio/NAudio/blob/master/Docs/MediaFoundationEncoder.md

引用命名空间

using NAudio.Wave;

  string fromFilePath = @"F:TestffmpegTestffmpegTestaudio.wav";
            string toFilePath = @"F:TestffmpegTestffmpegTestaudio.mp3";
            using (var reader = newMediaFoundationReader(fromFilePath))
            {
                MediaFoundationEncoder.EncodeToMp3(reader, toFilePath);
            }

NAudio音频文件转换第2张

EncodeToMp3默认使用的码率是192K

音频常识之音频码率 介绍文章 https://www.douban.com/note/262040939/

/// <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 = newMediaFoundationEncoder(mediaType))
            {
                mediaFoundationEncoder.Encode(outputFile, inputProvider);
            }
        }

免责声明:文章转载自《NAudio音频文件转换》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇element ui aside — 侧栏导航菜单移入移出折叠效果Spring Boot 2.0的属性绑定下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

随便看看

C# 如何提取SaveFileDialog的保存路径

直接使用代码1publicTestOne()2{3InitializeComponent();4SaveFileDialog();//调用打开SaveFileDialog保存对话框5}67#区域保存对话框8privateevoidSaveFileDialog()9{10//startlocalFilePath,fileNameExt,newFileName,...

ubuntu 常见安装软件错误

安装xlibs dev.2。错误:apt-get-installlibqt3-headers libqt3-mt-dev3。错误:这基本上意味着它要安装许多KDEspecificpackagestowork。这个'configure:aapt-get-installbuild essential7。错误:...

django的优缺点(非原创)

Django做了很多。使用它快速开发一些Web应用程序是很好的。因此,在一些人眼中,Django只不过是一种灵丹妙药,但对一些人来说,它也是一种毒药和剧毒。Django开发人员也讨论并试图支持SQLAlchemy,但最终放弃了。据估计,成本太高,很难与Django的其他模块集成。尽管Django的ORM不如SQLAlchemy强大,但它并不弱。Django的...

Wayland 源码解析之代码结构

Wayland实现的代码组成可以分为以下四个部分:1.Wayland库的核心部分,大部分Wayland协议实现都位于该库中。1) 该工具程序分析Wayland协议文件并生成相应的头文件和代码文件。源代码文件列表:wayland/cursor/wayland cursor。通道/光标/通道光标。cwyland/cursor/os兼容性。cwyland/curs...

flutter Radio单选框

单选框,允许用户从一组中选择一个选项。...

css实现切角效果

html&lt;divclass=“corner”&gt;#58a0);#58a0)右,#58a0)左;3.四个倒角css。角{width:4。圆弧倒角css。右上角(width:#58a0);背景重复:无重复;...