C#winform中保存设备返回的PCM音频。自己写文件,而不是调用其他的方法。
文中参考了这篇博文 http://blog.csdn.net/woaixiaozhe/article/details/7852824
原文是对声卡进行录音,这里是直接将录音改为一个类,直接调用就好了
录音类:
using System.IO;
/// <summary>
/// 生成录音文件
/// BY SUMC
/// 2015-10-16
/// </summary>
public class rec
{
private WaveFormat mWavFormat;
private int mSampleCount = 0;
private string mFileName = "";
private FileStream mWaveFile = null;
private BinaryWriter mWriter = null;
public rec(string audioFileName)
{
// 设定录音格式
this.mFileName = audioFileName;
mWavFormat = CreateWaveFormat();
}
private WaveFormat CreateWaveFormat()
{
WaveFormat format = new WaveFormat();
format.SamplesPerSecond = 32000;
format.BitsPerSample = 16;
format.Channels = 1;
format.BlockAlign = (short)(format.Channels * (format.BitsPerSample / 8));
format.AverageBytesPerSecond = format.BlockAlign * format.SamplesPerSecond;
return format;
}
public void RecStop()
{
// 写WAV文件尾
mWriter.Seek(4, SeekOrigin.Begin);
mWriter.Write((int)(