【实例简介】

【实例截图】

【核心代码】

using System;

using System.Collections.Generic;

using System.ComponentModel;

using System.Data;

using System.Drawing;

using System.Text;

using System.Windows.Forms;

using Oraycn.MCapture;

using Oraycn.MFile;

using System.Configuration;

namespace IntelligentRecord

{

public partial class Form1 : Form

{

private IMicrophoneCapturer microphoneCapturer;

private MyaudioFileMaker audioFileMaker = new MyaudioFileMaker(); //录制器

private accumulater lowDBFrameCounter = new accumulater();//低分贝计数器

private accumulater frameCounter = new accumulater();//帧数计数器

/*【大致思路】

* 程序启动时开启采集,用分贝显示器来获取每一帧的分贝。

在采集事件处理函数中轮询分贝值。

如果分贝值高于一定值,开启录制

如果分贝值低于一定值,低分贝计数器加一,帧数计数器加一

如果低分贝计数器在一定帧数内,低分贝计数器等于帧数计数器,即该段时间内持续低分贝,关闭录制

*/

public Form1()

{

InitializeComponent();

this.microphoneCapturer = CapturerFactory.CreateMicrophoneCapturer(0);//采集器,启动程序时即开启

this.microphoneCapturer.AudioCaptured = new ESBasic.CbGeneric(microphoneCapturer_AudioCaptured);//预定采集事件

this.microphoneCapturer.Start();//开始采集

//初始化录制器所需的参数

this.audioFileMaker.Initialize("test.mp3", this.microphoneCapturer.SampleRate, this.microphoneCapturer.ChannelCount);

}

void microphoneCapturer_AudioCaptured(byte[] data)

{

this.audioFileMaker.StartMakeFile(data);//录制器安插此处,通过IsWorking参数来控制其工作状态

this.frameCounter.Start(); //帧数计数器安插此处,用于记录在低分贝时期内的总帧数。通过IsWorking参数来控制其工作状态

this.decibelDisplayer1.DisplayAudioData(data);//分贝显示器显示音量

this.label_db.Text = this.decibelDisplayer1.Volume.ToString();//显示当前音量

this.label_RecordSign.Text = this.audioFileMaker.IsWorking ? "正在录音" : "未录音";

this.label_RecordSign.ForeColor = this.audioFileMaker.IsWorking ? Color.Blue : Color.Red;

//当音量高于开启值时,打开录制器

if (this.decibelDisplayer1.Volume > int.Parse(ConfigurationManager.AppSettings["DB2Open"]))

{

this.audioFileMaker.IsWorking = true;

}

//当记录的低分贝帧数达到一定值时,关闭两个计数器,然后总结这段时间内的帧状况

if (this.lowDBFrameCounter.Count > int.Parse(ConfigurationManager.AppSettings["checkCount"]))

{

//若低分贝帧数与总帧数一直,即该段时间内持续低分贝,则关闭录制

if (this.lowDBFrameCounter.Count == this.frameCounter.Count)

{

this.audioFileMaker.IsWorking = false;

}

this.frameCounter.IsWorking = false;

this.lowDBFrameCounter.IsWorking = false;

return;

}

//当音量低于阈值时,开启低分贝计数器与帧数计数器的计数

if (this.decibelDisplayer1.Volume < int.Parse(ConfigurationManager.AppSettings["DB2Close"]))

{

this.frameCounter.IsWorking = true;

this.lowDBFrameCounter.IsWorking = true;

this.lowDBFrameCounter.Start();

}

}

//关闭主窗时,释放采集器与录制器

private void Form1_FormClosing(object sender, FormClosingEventArgs e)

{

this.microphoneCapturer.Dispose();

this.audioFileMaker.Dispose();

}

//打开文件夹

private void button_OpenDirectory_Click(object sender, EventArgs e)

{

this.audioFileMaker.OpenFileDirectory();

}

}

}

声音分贝测试软件源码,C# 电脑录音 实例源码(根据声音分贝大小自动录制)相关推荐

  1. 电脑测试软件_科普丨电脑小白必看的显卡测试小技巧

    对很多电脑小白来说,新机入手总要亲自验证各大配件性能表现,之前给大家推过CPU测试软件.检测方法,今天这里小编继续说一下显卡的常用检测软件和相关注意事项. GPU-Z 此前说过GPU-Z可以对显卡进行 ...

  2. 变压器噪音分贝测试软件,一体机变压器绕组变形测试仪测试软件界面

    原标题:一体机变压器绕组变形测试仪测试软件界面 变压器绕组 在计算机上能完成的大部分功能都能在一体机上操作.检查试验接线正确无误后,启动主测量单元 ,其电源指示灯应正常显示.. 以下介绍软件界面中各个 ...

  3. 电脑上测试软件打不开,电脑双击文件word软件打不开怎么办?

    电脑提示"该文件没有与之关联的程序来执行该操作,请安装一个程序,或者,如果已经安装程序,请在[默认程序]控制面板中创建关联".不知道小伙伴们有没有遇到过类似的情况下面是学习啦小编收 ...

  4. 好用的录音软件排行 有哪些电脑录音工具

    电脑录音已经是最普遍的功能了,不管是在工作还是学习中,多多少少都会使用到录音功能,不仅可以记录重要的音频,还可以录制自己喜欢的音频,话说录音软件那么多,哪个好用呢?今天和大家一起看看好用的录音软件排行 ...

  5. 分贝测试软件哪个好 家庭影院,家庭影院DIY攻略 攻略篇 – 5.2 音频解码能力

    ○ 音频解码能力越强,声音越好听. 音频解码,就是将数字音频信号还原成模拟音频信号,但声音看不见摸不着,所以举大家都很熟悉的数码照片为例,可能会更好理解. 数码照片文件越大,图像越真实,比如像素越多. ...

  6. 图像渲染测试软件,检测你的电脑是否支持Metal渲染技术的小工具

    本帖最后由 bizongyi 于 2015-6-20 20:09 编辑 在刚召开的苹果WWDC大会上,与全新操作系统OS X El Capitan一同亮相的还有原来iOS平台上的图形渲染技术Metal ...

  7. win系统流畅度测试软件,视频对比:老电脑装Win7、Win10流畅性测试

    原标题:视频对比:老电脑装Win7.Win10流畅性测试 Windows 10号称比Win7快30%,那么对于旧电脑来说,这一说法还成立吗? 下面网易找来了两台完全相同的三年前售价四千左右的主流电脑, ...

  8. 针式打印机无电脑测试软件,针式打印机可以连接电脑但是不能打印啊 一点反应都没有 测试可以打出来...

    满意答案 Miner莫 推荐于 2018.06.25 采纳率:43%    等级:12 已帮助:6818人 pci卡需要安装专用的驱动,还有lpt端口一定要选对应的.然后装好驱动才可以. 建议找商家换 ...

  9. 微软surface屏幕测试软件,击败95%平板电脑 Surface Pro屏幕测试

    01配置:Surface Pro一马当先 去年10月,微软推出了Surface Pro平板电脑,而今天我们要来聊的就是这款设备的屏幕表现.一般对于平板电脑的显示屏而言,以下几点很重要:1.触摸手感是否 ...

  10. 变压器噪音分贝测试软件,变压器噪声多少才是标准? 通过什么部门去告?

    原标题:变压器噪声多少才是标准? 通过什么部门去告? 变压器噪声是由本体结构设计.选型布局.安装.使用过程中,变压器本体及冷却系统产生的不规则.间歇.连续或随机引起的机械噪声及空气噪声总和.变压器所产 ...

最新文章

  1. Socket中的异常和参数设置
  2. 太空乱游等待服务器响应,太空乱游(单机+联机)
  3. SQL基础操作_4_表的插入、更新、删除、合并操作
  4. java 常量接口_java接口定义常量研究
  5. unity3d 各个目录的意思
  6. C++primer第一章 开始
  7. 【Python】字符串(String)
  8. C#基础概念二十五问[转]
  9. 通讯与计算机网络作业,通讯与计算机网络作业平时作业(填空题问答和计算题)讲述.doc...
  10. J2EE 快速开发框架 Wabacus 3.3 版功能列表
  11. 优化器——梯度下降优化算法综述
  12. 运放输入偏置电流方向_【转】运放输入偏置电流
  13. CD卡命令和响应的详解
  14. DigiCert EV证书怎么样 DigiCert EV证书优势分析
  15. aws打开慢_亚马逊AWS服务器访问较慢,如何快速访问AWS服务器呢?
  16. JAVA计算机毕业设计自习室预订系统Mybatis+系统+数据库+调试部署
  17. 查看修改qcow2文件
  18. 记录:nodejs 裁切图片的方法
  19. 2.4G模块NRF24L01调试经验
  20. 加密与解密的基本概念--GPG加密工具的使用

热门文章

  1. python数字转换成中文大写_Python转换数字到中文大写格式
  2. CAD中PDF转DWG
  3. Intel/Nvidia双显卡笔记本用U盘安装ubuntu和Nvidia驱动
  4. 计算机显卡驱动不匹配,显卡驱动不兼容怎么办 显卡驱动降低旧版本方法
  5. 安卓Android类原生系统官网集合
  6. systrace打印
  7. 项目启动管理、需求分析、可行性方案论证  IT项目管理
  8. dvwa linux安装教程,CentOS 7 + DVWA 安装搭建过程
  9. Insyde uefi 隐藏设置_vivo手机怎么隐藏应用 vivo手机怎样把软件隐藏起来?
  10. 《应用商务统计分析》第五章 定序回归