JavaScript

语言:

JaveScriptBabelCoffeeScript

确定

// set up audio context

var audioContext = (window.AudioContext || window.webkitAudioContext);

// create audio class

if (audioContext) {

// Web Audio API is available.

var audioApi = new audioContext();

} else {

// Web Audio API is not available. Ask the user to use a supported browser.

alert("Oh nos! It appears your browser does not support the Web Audio API, please upgrade or use a different browser");

}

// set up getUserMedia

navigator.getUserMedia = navigator.getUserMedia || navigator.webkitGetUserMedia || navigator.mozGetUserMedia;

// variables

var audioBuffer,

analyserNode,

frequencyData = new Uint8Array(1024);

// create an audio API analyser node and connect to source

function createAnalyserNode(audioSource) {

analyserNode = audioApi.createAnalyser();

analyserNode.fftSize = 2048;

audioSource.connect(analyserNode);

}

// get's html elements, loops over them & attaches a frequency from analysed data - what you do is up to you!

function animateStuff() {

requestAnimationFrame(animateStuff);

analyserNode.getByteFrequencyData(frequencyData);

// Animation stuff--------------------------------

var allRepeatedEls = document.getElementsByTagName('i');

var totalEls = allRepeatedEls.length;

// Simple example of changing opacity & colour -> EDIT THIS!

for (var i = 0; i < totalEls; i++) {

// set colours

var lightColour = i * 10;

allRepeatedEls[i].style.backgroundColor = 'hsla(' + lightColour + ', 80%, 50%, 0.8)';

allRepeatedEls[i].style.borderColor = 'hsla(' + lightColour + ', 80%, 50%, 1)';

// flash on frequency

var freqDataKey = i * 2;

if (frequencyData[freqDataKey] > 100) {

// frequency played - make opache

allRepeatedEls[i].style.opacity = "1";

} else {

// frequency not played - fade out

allRepeatedEls[i].style.opacity = "0.2";

}

}

}

// getUserMedia success callback -> pipe audio stream into audio API

function gotStream(stream) {

// Create an audio input from the stream.

var audioSource = audioApi.createMediaStreamSource(stream);

createAnalyserNode(audioSource);

animateStuff();

}

// pipe in analysing to getUserMedia

navigator.getUserMedia({

audio: true

},

gotStream,

function(err) {

console.log("The following error occured: " + err);

}

);

html5 麦克风事件,HTML5 Audio 麦克风 声音触发亮光相关推荐

  1. 手机html5 tap事件,HTML5触摸事件演化tap事件介绍

    触摸事件是移动浏览器特有的HTML5事件,虽然click事件在pc和移动端更通用,但是在移动端会出现300ms延迟,较为影响用户体验,300ms延迟来自判断双击和长按,因为只有默认等待时间结束以确定没 ...

  2. html5 音频事件,HTML5中视频和音频核心事件的相关研究

    摘 要: 本文通过对HTML 5中视频和音频重要事件的研究,总结出HTML 5中重要事件在什么时候使用其中重要的相关属性,并以实例利用事件相关属性进行设置,给读者以相应启发. 关键字:HTML 5:视 ...

  3. html列表的列选择事件,html5 datalist 选中option选项后的触发事件

    使用input + datalist 实现自动补全功能,其中datalist中的内容是根据input输入的内容动态变换的,代码如下 function inputSelect(){ var input_ ...

  4. 成功解决电脑麦克风不管用、电脑无法录制声音之出现的麦克风Realtek(R) Audio未插入

    成功解决电脑麦克风不管用.电脑无法录制声音之出现的麦克风Realtek(R) Audio未插入 目录 解决问题 解决方法 解决问题 电脑无法录制声音,经过查看发现问题,麦克风Realtek(R) Au ...

  5. 用于播放视频的Html5元素是,HTML5多媒体播放video元素与audio元素详解

    在HTML5问世之前,要在网络上展示视频.音频和动画,除了使用第三方自主开发的播放器外,使用得最多的工具应该是FLASH了,便它们都需要在浏览器中安装各种插件才能使用,而且有时速度很慢.HTML5的出 ...

  6. php项目网页音乐播放器插件,基于HTML5 canvas和Web Audio的音频播放器插件

    wavesurfer.js是一款基于HTML5 canvas和Web Audio的音频播放器插件.通过wavesurfer.js你可以使用它来制作各种HTML5音频播放器,它可以在各种支持 Web A ...

  7. html支持的语音文件格式,html5中如何设置audio支持音频格式

    html5中如何设置audio支持音频格式 发布时间:2020-04-15 10:24:37 来源:亿速云 阅读:367 作者:小新 今天小编给大家分享的是html5中如何设置audio支持音频格式, ...

  8. html5里可移动线性进度条的类型怎么表示,HTML5触摸事件实现移动端简易进度条的实现方法...

    这篇文章主要介绍了关于HTML5触摸事件实现移动端简易进度条的实现方法,有着一定的参考价值,现在分享给大家,有需要的朋友可以参考一下 前言 HTML中新添加了许多新的事件,但由于兼容性的问题,许多事件 ...

  9. html5学习笔记(audio)

    来源于<HTML5高级程序设计> audio api <audio controls> controls告诉浏览器显示播放控件 不指定 type 浏览器自解 ogg MP3 t ...

最新文章

  1. 函数计算新功能-----支持C#函数
  2. 快照复制,事务复制,合并复制的区别
  3. 160个Crackme026之六段式注册码详解
  4. 中国担保市场竞争战略规划与运营效益分析报告2022-2027年版
  5. C 温故知新 之 指针:数组指针、字符串指针、函数指针
  6. mysql 存储引擎和数据导入导出
  7. python编写自动化脚本工具_Python自动化构建工具scons使用入门笔记
  8. oracle function详解,Oracle函数用法详解
  9. node2vec文献出处_图表示学习入门2——Node2Vec
  10. 15款免费的Wi-Fi安全测试工具
  11. 1、节假日万年历API接口,免费好用
  12. Pytorch 深度学习实战教程(五):今天,你垃圾分类了吗?
  13. ES7.16.2基础操作之slop查询(三)
  14. 开启允许对外访问的端口8000
  15. 如何打出j间隔符号‘·’
  16. 关于JS中的内存溢出与内存泄漏
  17. 腾讯会议PC端声音设置
  18. 知星社:学会了什么?
  19. 【autojs】Auto.js Pro截图取色脚本源代码
  20. 南航计算机科学与技术学院老师,关于南航计算机科学与技术学院第七期科创基金项目教师课题征集的通知...

热门文章

  1. 「干货不得不看」Python自创软件名字生成器:1.9-2.5
  2. [luogu1843] 奶牛晒衣服
  3. 苹果ceo乔布斯_苹果流年不利,再遭遇集体诉讼,库克为小利却造成惨重损失
  4. 三星手机忘记密码如何恢复出厂设置
  5. 对达梦数据库归档的简单理解
  6. android7.1.1彩蛋魅族,Flyme 7.1:“药丸”遇上mBack 一指玩转全面屏_魅族 16th Plus(6GB RAM/全网通)_手机评测-中关村在线...
  7. php 代付测试demo,php – 2checkout测试支付模拟
  8. 2022-2028全球与中国卫浴五金制品市场现状及未来发展趋势
  9. 港科夜闻|香港科技大学生命科学部和化学及生物工程系王吉光教授荣获首届钟南山青年科技创新奖...
  10. SSL安全套接层分析