NAudio:MP3转WAV和Wav转Mp3
MP3轉換為WAV
using Microsoft.Win32;
using NAudio.Wave;
using NLayer.NAudioSupport;
using System.Windows;
namespace NAudioDemo
{
? ? /// <summary>
? ? /// MainWindow.xaml 的交互邏輯
? ? /// </summary>
? ? public partial class MainWindow : Window
? ? {
? ? ? ? public MainWindow()
? ? ? ? {
? ? ? ? ? ? InitializeComponent();
? ? ? ? }
? ? ? ? private void Button_Click(object sender, RoutedEventArgs e)
? ? ? ? {
? ? ? ? ? ? OpenFileDialog openFileDialog = new OpenFileDialog();
? ? ? ? ? ? openFileDialog.Filter = "MP3 Files (*.mp3)|*.mp3|All Files (*.*)|*.*";
? ? ? ? ? ? openFileDialog.FilterIndex = 1;
? ? ? ? ? ? if (openFileDialog.ShowDialog() == true)
? ? ? ? ? ? {
? ? ? ? ? ? ? ? var inputFileName = openFileDialog.FileName;
? ? ? ? ? ? ? ? var outputFileName = inputFileName.Substring(0, inputFileName.Length - 3) + "WAV";
? ? ? ? ? ? ? ? var builder = new Mp3FileReader.FrameDecompressorBuilder(wf => new Mp3FrameDecompressor(wf));
? ? ? ? ? ? ? ? using (var reader = new Mp3FileReader(inputFileName, builder))
? ? ? ? ? ? ? ? {
? ? ? ? ? ? ? ? ? ? WaveFileWriter.CreateWaveFile(outputFileName, reader);
? ? ? ? ? ? ? ? }
? ? ? ? ? ? }
? ? ? ? ? ? MessageBox.Show("操作成功");
? ? ? ? }
? ? }
}
WAV轉為MP3
using Microsoft.Win32;
using NAudio.MediaFoundation;
using NAudio.Wave;
using System.Windows;
namespace NAudioDemo
{
? ? /// <summary>
? ? /// MainWindow.xaml 的交互邏輯
? ? /// </summary>
? ? public partial class MainWindow : Window
? ? {
? ? ? ? public MainWindow()
? ? ? ? {
? ? ? ? ? ? InitializeComponent();
? ? ? ? }
? ? ? ? private void Button_Click(object sender, RoutedEventArgs e)
? ? ? ? {
? ? ? ? ? ? OpenFileDialog openFileDialog = new OpenFileDialog();
? ? ? ? ? ? openFileDialog.Filter = "WAV Files (*.wav)|*.wav|All Files (*.*)|*.*";
? ? ? ? ? ? openFileDialog.FilterIndex = 1;
? ? ? ? ? ? if (openFileDialog.ShowDialog() == true)
? ? ? ? ? ? {
? ? ? ? ? ? ? ? var inputFileName = openFileDialog.FileName;
? ? ? ? ? ? ? ? var outputFileName = inputFileName.Substring(0, inputFileName.Length - 3) + "mp3";
? ? ? ? ? ? ? ? var mediaType = MediaFoundationEncoder.SelectMediaType(
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? AudioSubtypes.MFAudioFormat_MP3,
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? new WaveFormat(44100, 1),
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 0);
? ? ? ? ? ? ? ? using (var reader = new MediaFoundationReader(inputFileName))
? ? ? ? ? ? ? ? {
? ? ? ? ? ? ? ? ? ? using (var encoder = new MediaFoundationEncoder(mediaType))
? ? ? ? ? ? ? ? ? ? {
? ? ? ? ? ? ? ? ? ? ? ? encoder.Encode(outputFileName, reader);
? ? ? ? ? ? ? ? ? ? }
? ? ? ? ? ? ? ? }
? ? ? ? ? ? }
? ? ? ? ? ? MessageBox.Show("操作成功");
? ? ? ? }
? ? }
}
總結
以上是生活随笔為你收集整理的NAudio:MP3转WAV和Wav转Mp3的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 2017年最好用的9个php开发工具推荐
- 下一篇: SDA(静态数据认证)