C# NAudio 自动录制

Posted

技术标签:

【中文标题】C# NAudio 自动录制【英文标题】:C# NAudio Auto Record 【发布时间】:2013-04-28 02:06:23 【问题描述】:

对不起我的英语。

我正在制作录音机。我正在使用 NAudio 框架进行录制。我可以录制,但不能自动录制。我想在输入音量超过特定级别时开始录制,并在低于特定级别时停止录制并保存为 wav。我该怎么做?

【问题讨论】:

【参考方案1】:

您需要通过调用StartRecording 并检查收到的样本值来监控信号电平。不要被 StartRecording 这个名字吓到 - 这意味着你正在从声卡中捕获样本。如果您不想,则无需将它们写入文件。检查样本值的方法是在输入缓冲区中的每对字节上使用BitConverter.ToInt16(假设您正在记录 16 位)。然后由您决定什么构成足够的音量来触发录音。一旦达到这个级别,您就可以通过将传入缓冲区写入WaveFileWriter 来开始真正的“录制”。

【讨论】:

以上是关于C# NAudio 自动录制的主要内容,如果未能解决你的问题,请参考以下文章

C# NAudio:录制的文件无法播放

在 WPF C# 中使用 NAudio 录制音频

[C#] NAudio 各种常见使用方式 播放 录制 转码 音频可视化

NAudio:使用 ASIO 录制音频并用吉他输出

使用OpenCVSharp和NAudio库在C#中录制带有声音的视频并保存下来的代码

无法使用麦克风 c# naudio 捕捉 15k 的音调