使用 NAudio 创建静音 WAVE 流

Create silence WAVE stream with NAudio

作为 NAudio 和音频应用程序的新手,我不知道如何实现以下内容:

我想制作一个空的(静音)波形流并将其转换为 WaveChannel32,以便将其馈送到 MultiplexingWaveProvider 并使一个输出通道静音。 我尝试使用静音 wav 文件并成功地使输出通道静音,但最后我不想在应用程序中使用文件,但这样做 "on the fly"。 有什么想法吗?

你可以很容易地制造出 IWaveProvider 的沉默。创建一个实现 IWaveProvider 的 class,并在 Read 方法中,总是 return 要求的字节数。也用零填充缓冲区。

Read 方法可以这样做:

public int Read(byte[] buffer, int offset, int count)
{
   for(int n = 0; n < count; n++) buffer[offset++] = 0;
   return count;
}