使用 NAudio 创建静音 WAVE 流
Posted
技术标签:
【中文标题】使用 NAudio 创建静音 WAVE 流【英文标题】:Create silence WAVE stream with NAudio 【发布时间】:2017-05-09 09:06:09 【问题描述】:作为 NAudio 和音频应用程序的新手,我不知道如何实现以下内容:
我想制作一个空(静音)波流并将其转换为WaveChannel32
,以便将其馈送到MultiplexingWaveProvider
并使一个输出通道静音。
我尝试使用静音 wav 文件并成功静音输出通道,但最后我不想在应用程序中使用文件,而是“即时”执行。
有什么想法吗?
【问题讨论】:
【参考方案1】:您可以很容易地产生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;
【讨论】:
谢谢马克。这个解决方案可能就是我要找的! 看起来 Mark 忽略了他自己的 NAudio.Wave.SilenceProvider,它已经提供了这个实现以上是关于使用 NAudio 创建静音 WAVE 流的主要内容,如果未能解决你的问题,请参考以下文章