c#窗体应用程序实现录音
时间: 2025-01-01 08:39:10 浏览: 8
在C#中创建一个简单的窗体应用程序来实现录音功能,通常会使用`NAudio`库,它是一个用于音频处理的强大开源库。以下是基本步骤:
1. **安装NAudio库**:
首先,你需要通过NuGet包管理器安装NAudio库。在Visual Studio中打开控制台,输入`Install-Package NAudio`。
2. **添加项目引用**:
在你的窗体应用程序项目中,右键点击“References”,然后搜索并添加`NAudio.dll`到引用中。
3. **编写代码**:
```csharp
using NAudio.Wave;
// ...
private void RecordButton_Click(object sender, EventArgs e)
{
// 创建WaveInEvent实例,表示麦克风设备
WaveInEvent waveIn = new WaveInEvent();
waveIn.DeviceNumber = 0; // 更改为你的麦克风设备索引
// 创建MemoryStream记录音频数据
var audioFile = new MemoryStream();
waveIn.DataAvailable += waveIn_DataAvailable;
waveIn.StartRecording();
// 开始录制按钮事件处理后的回调
private void waveIn_DataAvailable(object source, WaveInEventArgs e)
{
audioFile.Write(e.Buffer, 0, e.BytesRecorded);
if (audioFile.Position >= audioFile.Length - 1000) // 当达到一定长度停止录制
{
waveIn.StopRecording();
// 拷贝内存流内容到硬盘上的文件
SaveToDisk(audioFile.ToArray(), "recording.wav");
// 清理资源
audioFile.Close();
waveIn.Dispose();
}
}
// 写入文件的方法
private void SaveToDisk(byte[] buffer, string fileName)
{
using (var fileStream = new FileStream(fileName, FileMode.Create))
{
fileStream.Write(buffer, 0, buffer.Length);
}
}
}
```
4. **运行测试**:
确保你的程序能够正确识别麦克风,并在录音完成后保存成WAV文件。
阅读全文