转换成MP3:

  1. using Microsoft.Win32;
  2. using NAudio.MediaFoundation;
  3. using NAudio.Wave;
  4. using System.Windows;
  5.  
  6. namespace NAudioDemo
  7. {
  8. /// <summary>
  9. /// MainWindow.xaml 的交互逻辑
  10. /// </summary>
  11. public partial class MainWindow : Window
  12. {
  13. public MainWindow()
  14. {
  15. InitializeComponent();
  16. }
  17.  
  18. private void Button_Click(object sender, RoutedEventArgs e)
  19. {
  20. OpenFileDialog openFileDialog = new OpenFileDialog();
  21. openFileDialog.Filter = "WAV Files (*.wav)|*.wav|All Files (*.*)|*.*";
  22. openFileDialog.FilterIndex = ;
  23. if (openFileDialog.ShowDialog() == true)
  24. {
  25. var inputFileName = openFileDialog.FileName;
  26. var outputFileName = inputFileName.Substring(, inputFileName.Length - ) + "mp3";
  27.  
  28. var mediaType = MediaFoundationEncoder.SelectMediaType(
  29. AudioSubtypes.MFAudioFormat_MP3,
  30. new WaveFormat(, ),
  31. );
  32.  
  33. using (var reader = new MediaFoundationReader(inputFileName))
  34. {
  35. using (var encoder = new MediaFoundationEncoder(mediaType))
  36. {
  37. encoder.Encode(outputFileName, reader);
  38. }
  39. }
  40. }
  41. MessageBox.Show("操作成功");
  42. }
  43. }
  44. }

转换成WMA:

  1. private void Button_Click(object sender, RoutedEventArgs e)
  2. {
  3. OpenFileDialog openFileDialog = new OpenFileDialog();
  4. openFileDialog.Filter = "WAV Files (*.wav)|*.wav|All Files (*.*)|*.*";
  5. openFileDialog.FilterIndex = ;
  6. if (openFileDialog.ShowDialog() == true)
  7. {
  8. var inputFileName = openFileDialog.FileName;
  9. var outputFileName = inputFileName.Substring(, inputFileName.Length - ) + "wma";
  10.  
  11. var mediaType = MediaFoundationEncoder.SelectMediaType(
  12. AudioSubtypes.MFAudioFormat_WMAudioV8,
  13. new WaveFormat(, ),
  14. );
  15.  
  16. using (var reader = new MediaFoundationReader(inputFileName))
  17. {
  18. using (var encoder = new MediaFoundationEncoder(mediaType))
  19. {
  20. encoder.Encode(outputFileName, reader);
  21. }
  22. }
  23. }
  24. MessageBox.Show("操作成功");
  25. }

使用NAudio实现Wav转Mp3的更多相关文章

  1. WIN32下使用DirectSound接口的简单音频播放器(支持wav和mp3)

    刚好最近接触了一些DirectSound,就写了一个小程序练练手,可以用来添加播放基本的wav和mp3音频文件的播放器.界面只是简单的GDI,dxsdk只使用了DirectSound8相关的接口. D ...

  2. 简单风格 在线音乐播放器(支持wav,MP3等)

    找了两天终于找到了,支持wav,MP3,其他格式没有测试. 1.修复了jQuery判断ie的bug, 2.修复播放循环 下载地址: http://pan.baidu.com/s/1o6upwHs

  3. javaCV开发详解之7:让音频转换更加简单,实现通用音频编码格式转换、重采样等音频参数的转换功能(以pcm16le编码的wav转mp3为例)

    javaCV系列文章: javacv开发详解之1:调用本机摄像头视频 javaCV开发详解之2:推流器实现,推本地摄像头视频到流媒体服务器以及摄像头录制视频功能实现(基于javaCV-FFMPEG.j ...

  4. 基于emWin的WAV,MP3软解软件播放器,带类似千千静听频谱,含uCOS-III和FreeRTOS两个版本

    第9期:WAV,MP3软解播放器,带类似千千静听频谱配套例子:V6-916_STemWin提高篇实验_WAV,MP3软解播放器,带类似千千静听频谱(uCOS-III)V6-917_STemWin提高篇 ...

  5. c# Use NAudio Library to Convert MP3 audio into WAV audio(将Mp3格式转换成Wav格式)

    Have you been in need of converting mp3 audios to wav audios?  If so, the skill in this article prov ...

  6. C#文本转语音并保存wav和MP3文件

    回顾上次写博客至今都有4个多月了,最近工作比较的忙没时间写博文.以后会多坚持写博文,与大家分享下最近遇到的问题.最近因为项目需要,研究了下用C#开发TTS.下面把大体的思路给大家说说,希望对大家有所帮 ...

  7. FFMPEG转换WAV到MP3

    下载FFMPEG https://ffmpeg.zeranoe.com/builds/ Example to encode VBR MP3 audio with ffmpeg using the li ...

  8. 音频转换 wav to wav、mp3或者其它

    1.首先介绍一种NAudio 的方式 需要导入 NAudio.dll 下面请看核心代码 using (WaveFileReader reader = new WaveFileReader(in_pat ...

  9. MP3/WAV 播放

    一.编译libmad  1.先下载压缩包到本地,并解压  tar -xvzf  libmad-0.15.1b.tar.gz   -C   ./ 2.进入源代码文件夹并配置 编写一个配置文件,便于< ...

随机推荐

  1. Java中的浮点数-科学计数法-加减乘除

    上次,提到"元转分"这个浮点数问题,boss倾向于手动把1.23元这种格式,转换成123分.    但实际上,浮点数很容易遇到精度问题.    比如,System.out.prin ...

  2. WIN32汇编语言中位图的使用

    说到位图.我们事实上非常早就接触过.从最早接触计算机,我们应该就知道有图片这个东西,然后再进一步说,图片在电脑上有好几种格式比方jpg. gif .png.pcx.bmp等等,当中bmp格式的图片文件 ...

  3. iOS 日志自动上报

       您好,欢迎使用腾讯Bugly!腾讯Bugly是腾讯公司为移动开发者开放的服务之一. 针对移动应用,腾讯Bugly提供了专业的Crash(崩溃).Android ANR(application n ...

  4. Java Web 实用返回结果封装

    实用的返回结果封装 使用示例 效果 Result ResultEnum 使用示例 /** * @Author: huangwenjun * @Description: * @Date: Created ...

  5. 【13.91%】【codeforces 593D】Happy Tree Party

    time limit per test3 seconds memory limit per test256 megabytes inputstandard input outputstandard o ...

  6. yii2框架学习一 yii安装与常见问题

    1 安装安装有两种  cpmposer 喝归档文件 安装  这里采用的归档文件安装    归档文件安装分为两种 基础末班和高级模板,这里采用高级模板  在官网或者yii-china 下载归档文件  解 ...

  7. 对Java字符串的探究

    问题的出发点 在网上看到一道题: 1 String str = new String("abc"); 以上代码执行过程中生成了多少个 String 对象? 答案写的是两个.&quo ...

  8. Winsock出错引起的断网

    背景 实验室有二十来台 PC 机,30+的服务器集群,网络拓扑比较复杂.简单地说,有网关连着校网,校网无法直接访问学校外的网络,只能通过拨 vpn 来实现外网访问.而校网最近也不稳定,时常断网. 今天 ...

  9. Exclusive access control to a processing resource

    A data processing system is provided with multiple processors that share a main memory. Semaphore va ...

  10. 使用VisualTreeHelper.GetDrawing(Visual v)枚举所有Visual内容的对象

    原文:使用VisualTreeHelper.GetDrawing(Visual v)枚举所有Visual内容的对象 C#代码:public void RetrieveDrawing(Visual v) ...