调用的技术:

Web Audio API(navigator.getUserMedia(),目前推荐使用最新的接口MediaDevices.getUserMedia())

RecordRTC(用来录音,暂时可忽略)

可参考:https://zhuanlan.zhihu.com/p/26536898、https://codepen.io/huooo/pen/LBKPZp

注意:

navigator.mediaDevices.getUserMedia({audio: true}).then((stream) => {});此方法谷歌浏览器不支持,如果要实时获取麦克风音量,可写在navigator.getUserMedia({audio: true}, onSuccess, onError); onSuccess里,onError可检测MIC是否异常。具体代码如下:

let mediaStreamSource = null;
let scriptProcessor = null;
let isRecord = false;navigator.getUserMedia = navigator.mediaDevices.getUserMedia || navigator.getUserMedia || navigator.mozGetUserMedia || navigator.webkitGetUserMedia;
navigator.getUserMedia({ audio: true, video: true }, (stream) => {beginDetect(stream);
}, () => {// 异常情况处理,MIC异常
});
// 麦克风音量检测
function beginDetect(stream){// 将麦克风的声音输入这个对象mediaStreamSource = audioContext.createMediaStreamSource(stream);// 创建一个音频分析对象,采样的缓冲区大小为4096,输入和输出都是单声道scriptProcessor = audioContext.createScriptProcessor(4096,1,1);// 将该分析对象与麦克风音频进行连接mediaStreamSource.connect(scriptProcessor);// 此举无甚效果,仅仅是因为解决 Chrome 自身的 bugscriptProcessor.connect(audioContext.destination);// 开始处理音频scriptProcessor.onaudioprocess = (e) => {if(isRecord) {// 获得缓冲区的输入音频,转换为包含了PCM通道数据的32位浮点数组const buffer = e.inputBuffer.getChannelData(0);// 获取缓冲区中最大的音量值const maxVal = Math.max(...buffer);// 显示音量值const mv = Math.round(maxVal * 100);}};
};

实时监测麦克风音量及检测MIC相关推荐

  1. 浏览器检测麦克风音量

    开发直播类的Web应用时在开播前通常需要检测设备是否正常,本文就来介绍一下如果如何做麦克风音量的可视化. AudioWorklet出现的背景 做这个功能需要用到 Chrome 的 AudioWorkl ...

  2. c++读取yolov5模型进行目标检测(读取摄像头实时监测)

    文章介绍 本文是篇基于yolov5模型的一个工程,主要是利用c++将yolov5模型进行调用并测试,从而实现目标检测任务 任务过程中主要重点有两个,第一 版本问题,第二配置问题 一,所需软件及版本 训 ...

  3. java测量麦克风音量_Android-使用mediarecorder类获取当前麦克风音量值

    获取当前麦克风音量 2014年12月22日 0:21 首先是界面: 检测麦克风当前音量主要是用Android自己的类MediaRecorder来实现的,很多函数都是可以直接使用的,所以实现检测麦克风音 ...

  4. android获取录音音量大小,Android 获取麦克风音量

    Android 上有一些很有趣的应用,例如<吹裙子>.<吹气球>之类的.利用的是实时获取麦克风输入音量,然后进行相应的处理.录音过程中怎样获得声音的大小呢?网上也不少人问如何处 ...

  5. Android 获取 AudioRecord 麦克风音量大小并做选择性发送

    extends:http://blog.csdn.net/alvinhuai/article/details/8955127,http://mikespook.com/2010/11/android- ...

  6. 深度学习(二)——从零自己制作数据集到利用deepNN实现夸张人脸表情的实时监测(tensorflow实现)

    一.背景介绍 这篇文章主要参考我的上一篇文章:深度学习(一)--deepNN模型实现摄像头实时识别人脸表情(C++和python3.6混合编程).由于上一篇文章的模型所采用的数据集为fer2013,前 ...

  7. ubuntu实时监测显卡进程的方法

    个人微信公众号:AI研习图书馆,欢迎关注~ 深度学习知识及资源分享,学习交流,共同进步~ 1.引言 在使用GPU做计算时,比如深度学习网络训练的时候,我们可能希望能够实时检测显存的使用情况. 2.查看 ...

  8. 幼儿园实时监测控制系统的设计

    word完整版可点击如下下载>>>>>>>> 幼儿园实时监测控制系统的设计-硬件开发文档类资源-CSDN下载内容包括详细设计文档word版,附带开题报告 ...

  9. 尘埃粒子计数器帮助实时监测半导体车间空气中的粒子数

    手持式尘埃粒子计数器是用于测量洁净环境中单位体积内尘埃粒子数和粒径分布的仪器,手持式尘埃粒子计数器可广泛应用于为各省市药检所.血液中心.防疫站.疾控中心.质量监督所等权威机构.电子行业.制药车间.半导 ...

最新文章

  1. 使用cat,awk和sort命令从nginx访问日志中统计user-agent类型
  2. 装java 无法应用转换程序_应用程序崩溃“android.app.Application无法强制转换为”...
  3. 他24岁,4篇Nature在手,也会关心学不懂C语言怎么办
  4. win8如何在已安装多系统的情况下,更改默认开机系统
  5. stm32for循环几个机械周期_波浪理论之五:循环周期理论
  6. 基于java SSM校园兼职平台系统设计和实现
  7. oracle vm发现无效设置_Oracle数据库编译失效对象相关命令总结大全,值得收藏
  8. python入门——P50模块:模块就是程序
  9. NYOJ-58 最少步数
  10. stl标准模板库_如何在C ++ STL(标准模板库)中使用Pair
  11. (转载)Stackoverflow让我们变懒了?
  12. 【java】输入输出流
  13. linux cat -A 隐藏符号显示
  14. h5调用手机相册摄像头以及文件夹
  15. NS2中GOD的使用
  16. 积分(Integral)
  17. 递归 (一): 递归思想与 C++ 中的递归函数及两个递归应用示例 (斐波那契, 汉诺塔)
  18. 天气图标下载_50种免费天气图标集可供下载
  19. 蕴含命题遇到的疑惑和解答
  20. 多维/子对象(镜子组合材质参数)

热门文章

  1. 成都市住房公积金提取指南办理手续流程
  2. 【SSH进阶之路】Hibernate基本映射(三)
  3. 感动13亿中国人的芭蕾舞小女孩
  4. win10开机蓝屏_终级解决win10蓝屏代码WHEA_UNCORRECTABLE_ERROR没有之一 心语家园
  5. 一个人不孤单 想一个人才孤单
  6. 双操作系统安装(五)Windows及Manjaro Linux双系统安装教程
  7. IP地址的分类及子网掩码的计算
  8. Unity 滚球游戏
  9. console.log详解
  10. 基于CUDA的医学影像数据处理工作站的配置方法