Naudio - 处理 WaveIn / WaveOut

Posted

技术标签:

【中文标题】Naudio - 处理 WaveIn / WaveOut【英文标题】:Naudio - Disposing WaveIn / WaveOut 【发布时间】:2018-01-30 08:31:09 【问题描述】:

在停止WaveInWaveOut 之后立即处理它们是否安全,而不是在WaveIn.RecordingStoppedWaveOut.PlaybackStopped 的事件处理程序中?像这样:

MyWaveIn.StopRecording();
MyWaveIn.Dispose();
MyWaveIn = null;

还有:

MyWaveOut.Stop();
MyWaveOut.Dispose();
MyWaveOut = null;

如果WaveIn / WaveOut 因错误而停止,或者播放因正在播放的文件到达结尾而停止,我将在事件处理程序中处理它们。我只是在问我明确阻止它们的情况。

【问题讨论】:

【参考方案1】:

我通常建议在 PlaybackStopped 事件处理程序中进行处理,但大多数声卡驱动程序似乎对您在播放或录制仍在进行时进行处理感到非常满意(实际上您只是调用 waveOutClosewaveInClose Windows API)。

【讨论】:

以上是关于Naudio - 处理 WaveIn / WaveOut的主要内容,如果未能解决你的问题,请参考以下文章

NAudio - 一起使用 WaveIn 和 AudioEndpointVolume

记录来自 NAudio WaveIn 的输入,并输出到 NAudio WaveOut

NAudio WaveIn.DataAvailable 事件:分离通道

记录来自 NAudio WaveIn 的输入,并将输出保存到字节数组

带有 SoundTouch BPMDetect 的 NAudio WaveIn 的 C# 示例

在 NAudio 中列出 ASIO 音频输出设备