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

我想将wav文件16 kHz 16位更改为8 kHz 16位单声道C#NAudio,c#,validation,post,naudio,C#,Validation,Post,Naudio,代码不工作,请检查并告诉我我写错了什么?!请帮忙 openFileDialog openFileDialog = new openFileDialog(); openFileDialog.Filter = ("Wave Files (*.wav)|*.wav|All Files (*.*)|*.*"); openFileDialog.FilterIndex = 1; WaveFileReade

代码不工作,请检查并告诉我我写错了什么?!请帮忙

            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!");
        }

这是一个代码,不起作用。

如果您试图同时更改通道计数和采样率,请分两步执行。例如,首先将立体声转换为单声道,然后将44.1kHz转换为8kHz。如果没有看到传入文件的波形或异常,我无法确切说明问题所在。

它如何“不工作”?你有例外吗?如果是,确切的信息是什么?异常的堆栈跟踪甚至应该告诉您哪里出了问题。如果您没有得到异常,那么结果与您预期的结果有何不同。(因为你是德国人,而且你的英语似乎还不太好:你的英语水平如何?你的英语水平如何?你的英语水平如何?你的英语水平如何@科拉克:我真的很感谢你愿意帮忙,但堆栈溢出是一个问题。@JonathonReinhart-很公平。但由于OPs问题是用英语提出的,我认为这个问题并没有受到伤害(它只讨论了最初的问题)。我用一条评论来询问关于这个问题的更多信息,并提供了一个粗略的翻译,其中有明确的注释,请用英语回答。我不认为这有什么问题,如果这有助于OP在更短的时间内把问题弄清楚的话。