【问题标题】:How to set channels and sample rate when converting .wav into mp3 using NAudio/Lame?使用 NAudio/Lame 将 .wav 转换为 mp3 时如何设置通道和采样率?
【发布时间】:2017-10-05 12:39:33
【问题描述】:

我正在尝试使用以下代码将 wav 文件转换为 mp3。

using (var wavRdr = new WaveFileReader(item))
                using (var mp3Writer = new LameMP3FileWriter(outputPath.Replace(".wav", ".mp3"), wavRdr.WaveFormat, _bitRate, tag))
                {
                    wavRdr.CopyTo(mp3Writer);
                }

LameMP3FileWriter 没有任何参数来设置 MP3 格式的 ChannelsSample Rate

经过一番研究,我有一个想法,我必须在调用转换方法之前设置通道和采样率,但我不知道该怎么做。

我使用this 进行了成功的转换,但现在我需要为 mp3 文件设置通道和采样率。请帮忙!

【问题讨论】:

    标签: naudio lame


    【解决方案1】:

    我已经解决了这个问题。

    var tempFile = Path.Combine(destFolder, Path.GetFileNameWithoutExtension(sourceFile.SourceFilePath) + ".wav");
                try
                {
                    var reader = new WaveFileReader(sourceFile.SourceFilePath);
                    var newFormat = new WaveFormat(SampleRate, BitsPerSec, Channels);
                    var conversionStream = new WaveFormatConversionStream(newFormat, reader);
                    WaveFileWriter.CreateWaveFile(tempFile, conversionStream);
    
                    var destFile = Path.Combine(destFolder, Path.GetFileNameWithoutExtension(sourceFile.DestiFileName) + ".mp3");
                    using (var wavRdr = new WaveFileReader(tempFile))
                    {
                        using (var mp3Writer = new LameMP3FileWriter(destFile, newFormat, BitRate, sourceFile))
                        {
                            wavRdr.CopyTo(mp3Writer);
                        }
                    }
                }
                catch
                {
                    //Ignore
                }
                finally
                {
                    if (File.Exists(tempFile))
                        File.Delete(tempFile);
                }
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2020-12-26
      • 2013-01-22
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-08-15
      • 1970-01-01
      相关资源
      最近更新 更多