使用 NAudio 录制和播放音频

Posted

技术标签:

【中文标题】使用 NAudio 录制和播放音频【英文标题】:Audio recording and playback using NAudio 【发布时间】:2010-03-29 20:34:57 【问题描述】:

当我尝试在here 之后录制音频,并在(voicerecorder.audio 项目)中使用来自 here 的相关源代码时,我遇到了录制立即停止的问题开始,播放也是如此。录制的文件是46字节,播放不到一秒,基本上线程立即跳转到下一条语句。如果我尝试让线程休眠,那将无济于事。我该怎么做才能让它保持在录制模式或播放模式,直到用户中断?

【问题讨论】:

【参考方案1】:

我已在 NAudio 论坛上回答:http://naudio.codeplex.com/Thread/View.aspx?ThreadId=207713

但是 LBushkin 是正确的。您需要在录制过程中保持线程处于活动状态,如果您使用窗口回调,则需要有一个窗口。为控制台应用程序使用函数回调。

【讨论】:

【参考方案2】:

一个简短但完整的代码示例可能会帮助您获得好的答案。

取而代之的是,您应该确保您的主线程(假设这是一个控制台应用程序)在开始录音后不会立即终止。当主应用程序线程在 .NET 中终止时,整个进程都会终止 - 后台或工作线程不会使进程保持活动状态。

【讨论】:

以上是关于使用 NAudio 录制和播放音频的主要内容,如果未能解决你的问题,请参考以下文章

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

NAudio Asio 录制和播放

NAudio Asio 录制播放和保存(仅限噪音)

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

NAudio Asio 同时录制和播放

使用 NAudio 1.7+ 播放音频文件