C# 电脑麦克风录音

本实例通过Naudio库完成麦克风录音并把PCM脉冲信号保存成wav音频文件。关于音频的采样率、比特率、声道等问题请查阅相关资料,本示例不做解释。Naudio库 请从NuGet搜索并下载。

录音接口类:

  public interface ISpeechRecorder{void SetFileName(string fileName);void StartRec();void StopRec();}

录音实现类:

using System;
using NAudio.Wave;namespace Test
{class NAudioRecorder : ISpeechRecorder{public WaveIn waveSource = null;public WaveFileWriter waveFile = null;private string fileName = string.Empty;/// <summary>/// 第二步:开始录音/// </summary>public void StartRec(){try{waveSource = new WaveIn();//保证电脑有麦克接入否则报错。waveSource.WaveFormat = new WaveFormat(16000, 16, 1); // 16KHz,16bit,单声道的录音格式waveSource.DataAvailable += new EventHandler<WaveInEventArgs>(waveSource_DataAvailable);waveSource.RecordingStopped += new EventHandler<StoppedEventArgs>(waveSource_RecordingStopped);waveFile = new WaveFileWriter(fileName, waveSource.WaveFormat);waveSource.StartRecording();}catch(Exception e){throw new Exception(e.Message);}}/// <summary>/// 第三步:停止录音/// </summary>public void StopRec(){waveSource.StopRecording();// Close Wave(Not needed under synchronous situation)if (waveSource != null){waveSource.Dispose();waveSource = null;}if (waveFile != null){waveFile.Dispose();waveFile = null;}}/// <summary>/// 第一步:设置录音结束后保存的文件路径/// </summary>/// <param name="fileName">保存wav文件的路径名</param>public void SetFileName(string fileName){this.fileName = fileName;}/// <summary>/// 开始录音回调函数/// </summary>/// <param name="sender"></param>/// <param name="e"></param>private void waveSource_DataAvailable(object sender, WaveInEventArgs e){if (waveFile != null){waveFile.Write(e.Buffer, 0, e.BytesRecorded);waveFile.Flush();}}/// <summary>/// 录音结束回调函数/// </summary>/// <param name="sender"></param>/// <param name="e"></param>private void waveSource_RecordingStopped(object sender, StoppedEventArgs e){if (waveSource != null){waveSource.Dispose();waveSource = null;}if (waveFile != null){waveFile.Dispose();waveFile = null;}}}
}

调用方法:

NAudioRecorder nar=new NAudioRecorder();
nar.SetFileName(@"d:\naudio.wav");
nar.StartRec();nar.StopRec();

C# 电脑麦克风录音相关推荐

  1. 【Win10】电脑麦克风录音:设备调测

    目录 一.视频讲解 二.图片讲解 2.1 主板麦克风输入接口 2.2 声音设置 2.3 声音控制面板 2.4 录音机 一.视频讲解 Win10麦克风录音设置_配字幕 二.图片讲解 2.1 主板麦克风输 ...

  2. Python调用电脑麦克风录音

    import wave import pyaudio 定义数据流块 CHUNK = 1024 FORMAT = pyaudio.paInt16 CHANNELS = 2 RATE = 44100 录音 ...

  3. 使用计算机录制声音10,Win10电脑麦克风无法录音怎么解决 win10麦克风声音无法输入的解决方法...

    在使用win10系统的时候很多用户反映说会遇到这样那样的问题,当升级到win10系统之后,有部分用户发现要使用麦克风录音的时候,发现麦克风没有声音无法输入,导致麦克风无法录音,该怎么解决这个问题呢,现 ...

  4. 电脑显示没有连接录音服务器,电脑麦克风没声音 录音设备的线路输入显示未插入...

    (5)CD Audio:叫"CD-ROM模拟音量控制",通常情况下,CD-ROM会有一条四芯模拟音频线(L.G.G.R)连接到声卡,这个项目就是控制CD-ROM驱动器模拟线路的音量 ...

  5. 电脑麦克风插孔是哪个_【教程】客所思kx2传奇版接电脑控制面板调试教程

    客所思KX-2传奇版是客所思公司新一代K歌声卡,旧的一代客所思KX-2A究极版已经停产,请各位知悉.传奇版跟究极版最大的不同,就是传奇版可以通过软件控制了,这样的好处是调试更加方便,更加直观. 下载软 ...

  6. 笔记本电脑怎么录音?电脑专业录音软件下载

    我们经常需要在电脑上进行录音,那么笔记本电脑怎么录音?电脑专业录音软件下载哪个好呢?其实笔记本电脑录音还是比较容易的,下面小编便来分享我平时所用的录音方法给大家,希望对大家能够有一些帮助,具体详情如下 ...

  7. 电脑录音,教你电脑怎么录音

    想使用电脑录音一下音,但是不是怎么操作,网上下载软件安装什么都比较麻烦,还占内存电脑自带的"录音机"就成了这一类的需求,关于怎么使用电脑录音,小编这就操作给你们看. 当我们需要用到 ...

  8. 怎么用计算机录制mp3的音频,如何在电脑上录音详细图文教程

    原标题:如何在电脑上录音详细图文教程 现在移动端的录音工具有很多,甚至很多的其他移动设备也都可以录音的,可是电脑上录音的软件确是比较少见,现在用电脑录音的人还是比较多,毕竟我们现在使用电脑还是比较频繁 ...

  9. 如何在win10电脑上录音

    win10系统是新出来的电脑系统,虽然说出来一阵子了,但是许多人对其还不是很了解,比如如何在win10电脑上录音,就一直有人不了解.其实win10录音方法和其它win系统录音方法都是差不多的,小编这边 ...

最新文章

  1. CCNA实验:VLan间路由实验配置 (单臂路由)
  2. IntelliJ IDEA(五) :酷炫插件系列
  3. 【KVM系列文章】目录
  4. 高并发负载均衡(二):LVS 的 DR,TUN,NAT 网络模型推导
  5. 轻松与外来客户进行REST通信
  6. em算法怎么对应原有分类_机器学习基础-EM算法
  7. CSS中常见的6种文本样式
  8. Silverlight读取Zip文件中的图片与视频
  9. javascript之函数使用
  10. jQuery EasyUI快速入门01
  11. vm虚拟机配置动态ip和静态ip的方法
  12. element上传附件(el-upload 超详细)
  13. Ubuntu镜像名称解释
  14. 怎么显示文件后缀名?很容易的几个步骤
  15. Rest-assured框架详解
  16. CPU纯软件全虚拟化技术
  17. centOS6添加开机启动
  18. 计算机主机usb插口松,usb插口(电脑usb接口松动小妙招)
  19. 基于图像的三维建模——特征点检测与匹配
  20. WPF TextBlock自定义内容_se7en3_新浪博客

热门文章

  1. 遍历某个文件夹中所有文件夹名和文件名
  2. MySQL增加、修改、删除字段
  3. T100——q查询,子母查询(汇总——明细)练习笔记
  4. 计算机操作系统第四章虚拟存储器
  5. 几种python入门级OCR开源库中文识别效果对比
  6. MATLAB程序设计与应用 4.1 M文件
  7. Linux系统忘记密码的解决办法
  8. JDBC和Maven工程的创建
  9. 细读《深入理解 Android 内核设计思想》(四)Binder 机制 [中]
  10. 数据库系统概念 引言(一)