要用到MFC了!上次在CodeProject看到类似的文章,你到那上面找找

解决方案 »

  1.   

    《Windows 程序设计》这本书上有差不多的程序,楼主可以参考一下。
      

  2.   

    采用API,查下面的函数就知道了
    private const string mmdll = "winmm.dll";
    // WaveIn calls
    [DllImport(mmdll)]
    public static extern int waveInGetNumDevs();
    [DllImport(mmdll)]
    public static extern int waveInAddBuffer(IntPtr hwi, ref WaveHdr pwh, int cbwh);
    [DllImport(mmdll)]
    public static extern int waveInClose(IntPtr hwi);
    [DllImport(mmdll)]
    // 输入设备句柄, 输入设备ID,录音格式指针波形格式,处理MM_WIM_***消息的回调函数或窗 
    // 口句柄,线程ID,处理消息方式的符号位 public static extern int waveInOpen(out IntPtr phwi, int uDeviceID, WaveFormat lpFormat, WaveDelegate dwCallback, int dwInstance, int dwFlags);
    [DllImport(mmdll)]
    //为录音设备准备缓存函数 
    public static extern int waveInPrepareHeader(IntPtr hWaveIn, ref WaveHdr lpWaveInHdr, int uSize);
    [DllImport(mmdll)]
    //给输入设备增加一个缓存
    public static extern int waveInUnprepareHeader(IntPtr hWaveIn, ref WaveHdr lpWaveInHdr, int uSize);
    [DllImport(mmdll)]
    //清空内存块
    public static extern int waveInReset(IntPtr hwi);
    [DllImport(mmdll)]
    //开始录音
    public static extern int waveInStart(IntPtr hwi);
    [DllImport(mmdll)]
    //停止录音
    public static extern int waveInStop(IntPtr hwi);