C# 使用NAudio创建静默波流
作为NAudio和音频应用程序的新手,我不知道如何实现以下功能: 我想制作一个空(静默)波流并将其转换为C# 使用NAudio创建静默波流,c#,naudio,C#,Naudio,作为NAudio和音频应用程序的新手,我不知道如何实现以下功能: 我想制作一个空(静默)波流并将其转换为WaveChannel32,以便将其馈送到MultiplexingWaveProvider并使一个输出通道静音。 我尝试了一个静音wav文件,并成功地静音了输出通道,但最后我不想在应用程序中使用文件,而是“在运行中”使用它。 有什么想法吗?你可以很容易地制作一个静默IWaveProvider。创建一个实现IWaveProvider的类,并在Read方法中始终返回请求的字节数。也用零填充缓冲区
WaveChannel32
,以便将其馈送到MultiplexingWaveProvider
并使一个输出通道静音。
我尝试了一个静音wav文件,并成功地静音了输出通道,但最后我不想在应用程序中使用文件,而是“在运行中”使用它。
有什么想法吗?你可以很容易地制作一个静默
IWaveProvider
。创建一个实现IWaveProvider
的类,并在Read
方法中始终返回请求的字节数。也用零填充缓冲区
对于Read
方法,这样做可以:
public int Read(byte[] buffer, int offset, int count)
{
for(int n = 0; n < count; n++) buffer[offset++] = 0;
return count;
}
公共整数读取(字节[]缓冲区、整数偏移量、整数计数)
{
对于(int n=0;n
Thx标记。这个解决方案可能就是我想要的!看起来Mark忽略了自己的NAudio.Wave.SilenceProvider,它已经提供了这个实现