我正在使用Ludio的NAudio包装器将我的wav文件转换为mp3。但是,当我使用NAudio将我的mp3转换回wav时,wav文件比原始的wav文件略大。有没有办法让我可以得到它,以便原始和解码的wav文件大小完全相同?除此之外,其他一切都有效,我可以毫无问题地播放wav和mp3文件。谢谢,我已将转换功能包含在下面:
private void ConvertWavMP3(string wavFile)
{
try
{
using (var wavRdr = new WaveFileReader(wavFile))
using (var mp3Writer = new LameMP3FileWriter(wavFile.Replace(".wav", ".mp3"), wavRdr.WaveFormat, 128))
{
wavRdr.CopyTo(mp3Writer);
}
}
catch (Exception ex)
{
MessageBox.Show("Error converting wav to mp3.", "CONVERSION ERROR");
}
}
private static void ConvertMp3ToWav(string mp3File)
{
try
{
using (Mp3FileReader reader = new Mp3FileReader(mp3File))
{
//using (WaveStream pcmStream = new WaveFormatConversionStream(new WaveFormat(8000, 16, 1), reader))
using (WaveStream pcmStream = WaveFormatConversionStream.CreatePcmStream(reader))
{
WaveFileWriter.CreateWaveFile(mp3File.Replace(".mp3", ".wav"), pcmStream);
}
}
}
catch (Exception ex)
{
MessageBox.Show("Error converting mp3 to wav.", "CONVERSION ERROR");
}
}
答案 0 :(得分:0)
MP3是一种有损编解码器,因此它不会解压缩到您编码的完全相同的音频。它也可以通过创建一系列编码的“帧”来工作,每个帧都有固定的长度,因此解码的MP3通常与输入的持续时间不完全相同,但延长几毫秒。