使用NAudio重新采样音频

时间:2014-03-27 20:44:19

标签: c# naudio resampling

我想以44100Hz重新采样IEEE浮点ISampleProvider并以16000Hz获得另一个ISampleProvider,但我似乎无法让NAudio进行转换。

这是我到目前为止所尝试过的。

var myReader = new AudioFileReader(filename);
var resampledAudio = new WaveToSampleProvider( 
                          new MediaFoundationResampler(
                               new SampleToWaveProvider(myReader),
                               new WaveFormat(16000, 2)){ ResamplerQuality = 60 });

当我运行此代码时,我得到一条ArgumentException,上面有一条消息:

  

输入参数必须已经是浮点

有谁知道如何解决这个问题?

1 个答案:

答案 0 :(得分:1)

你应该用这个来解决你的问题:

WaveFormat.CreateIeeeFloatWaveFormat(16000, 2);

而不是:

new WaveFormat(16000, 2)