我想要更改wav文件16 kHz 16位到8 kHz 16位单声道C#NAudio

时间:2013-09-05 06:30:26

标签: c# validation post naudio

代码无效,请查看并告诉我写错了什么?!请帮忙。

            openFileDialog openFileDialog = new openFileDialog();

            openFileDialog.Filter = ("Wave Files (*.wav)|*.wav|All Files (*.*)|*.*");

            openFileDialog.FilterIndex = 1;


            WaveFileReader reader = new NAudio.Wave.WaveFileReader(dpmFileDestPath);

            WaveFormat newFormat = new WaveFormat(8000, 16, 1);

            WaveFormatConversionStream str = new WaveFormatConversionStream(newFormat, reader);

            try
            {
                WaveFileWriter.CreateWaveFile("C:\\Konvertierten_Dateien.wav", str);
            }
            catch (Exception ex)
            {
                MessageBox.Show(String.Format("{0}", ex.Message));
            }
            finally
            {
                str.Close();
            }
            MessageBox.Show("Konvertieren ist Fertig!");
        }

这是一个代码而无法正常工作。

1 个答案:

答案 0 :(得分:0)

如果您尝试同时更改频道数和采样率,请分两步完成。例如。首先将立体声转为单声道,然后转到44.1kHz至8kHz。如果没有看到传入文件的WaveFormat或者你得到的例外情况,我无法确切地说出问题所在。