NAudio - 将音频录制到内存,对其进行更改,然后保存到磁盘

时间:2016-10-13 19:57:22

标签: naudio

我会按以下顺序执行:

  1. 使用WaveIn将音频录制到内存中。
  2. 从内存中获取内容,作为IEEE 32位样本数组。
  3. 对样本进行一些修改。
  4. 保存回磁盘。
  5. 我知道如何使用WaveIn进行录制以及如何使用WaveFileReaderWaveFileWriter。但是这里还需要其他课程,我不知道如何使用。

1 个答案:

答案 0 :(得分:2)

  1. 将您使用WaveIn收到的所有音频写入MemoryStream
  2. 当您完成录制后,请将MemoryStream.Position重置为0.然后使用RawSourceWaveStream的{​​{1}}将其传递到WaveFormat
  3. 使用WaveIn上的ToSampleProvider转到IEEE 32位
  4. 一次将一个块的音频读取到样本提供者的float []中。
  5. 执行您需要的任何DSP
  6. 将其写入RawSourceWaveStream
  7. 如果您将DSP实施为自定义WaveFileWriter,则可以进一步简化管道,并使用ISampleProvider自动将所有数据从WaveFileWriter.CreateWaveFile提取到您的WAV文件< / p>