博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
监控麦克风是否有声音输入
阅读量:5239 次
发布时间:2019-06-14

本文共 807 字,大约阅读时间需要 2 分钟。

首先我们需要定义

一个声音采集模块

IWaveIn waveIn;
View Code

在初始化窗口的时候

waveIn = new WaveIn { WaveFormat = new WaveFormat(8000, 1) };                waveIn.DataAvailable += waveIn_DataAvailable;                waveIn.StartRecording();
View Code

启动它

那么,它有一个采集到声音就会触发的方法   DataAvailable

我们 += 后,就会出来一个默认的方法

waveIn_DataAvailable(object sender, WaveInEventArgs e)
View Code

我们可以通过(宝贝全在WaveInEventArgs 里)

short s = BitConverter.ToInt16(e.Buffer, 0);            //vol.Content = Math.Abs(s / 50);            var valInt = Math.Abs(s / 50) >= 100 ? 100 : Math.Abs(s / 50);

这种方式来获取到当前采集到声音的音量大小

接下来,你就可以为所欲为了~

效果图如下

 

至于右下角的提示,其实也很简单啦

定义一个窗体,每次Show到右下角就好啦~

源码:

csdn: https://download.csdn.net/download/u013176520/10954213

百度云 : https://pan.baidu.com/s/11cgK-IZaU1j7aqZ1Iu5ZIw 提取码: 2asu 

转载于:https://www.cnblogs.com/myblogslh/p/10366064.html

你可能感兴趣的文章
react中进入某个详情页URL路劲参数Id获取问题
查看>>
首届.NET Core开源峰会
查看>>
ViewPager的onPageChangeListener里面的一些方法参数:
查看>>
python pdf转word
查看>>
poj 2182 Lost Cows
查看>>
OpenFlow 交换机与控制器交互步骤
查看>>
java-内存模型
查看>>
文本相似度比较(网页版)
查看>>
Jenkins关闭、重启,Jenkins服务的启动、停止方法。
查看>>
2019.01.13 bzoj4538: [Hnoi2016]网络(树链剖分)
查看>>
codeforces 315 308
查看>>
BZOJ3998 [TJOI2015]弦论 【后缀自动机】
查看>>
CF E2 - Array and Segments (Hard version) (线段树)
查看>>
svn 架设
查看>>
k8s部署rocketmq 双主
查看>>
Linux SPI总线和设备驱动架构之四:SPI数据传输的队列化
查看>>
SIGPIPE并产生一个信号处理
查看>>
CentOS
查看>>
Explicit keyword
查看>>
Linux pipe函数
查看>>