html5音乐背景图,HTML5 Audio 麦克风操控+钻石背景图案
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 elementColour = i * 10;
allRepeatedEls[i].style.backgroundImage = '-webkit-linear-gradient(left,hsla(' + elementColour + ', 80%, 50%, 0.7),hsla(' + elementColour + ', 80%, 50%, 0.4))';
allRepeatedEls[i].style.borderColor = 'hsla(' + elementColour + ', 80%, 50%, 1)';
// flash on frequency
var freqDataKey = i * 2;
if (frequencyData[freqDataKey] > 160) {
allRepeatedEls[i].style.webkitTransform = "rotate(135deg) scale(1.8)";
} else if (frequencyData[freqDataKey] > 120) {
allRepeatedEls[i].style.webkitTransform = "rotate(105deg) scale(1.5)";
} else if (frequencyData[freqDataKey] > 80) {
allRepeatedEls[i].style.webkitTransform = "rotate(75deg) scale(1.2)";
} else if (frequencyData[freqDataKey] > 40) {
allRepeatedEls[i].style.webkitTransform = "rotate(45deg) scale(1)";
}
}
}
// 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 麦克风操控+钻石背景图案相关推荐
- 直播间背景图怎么设计?直播间背景设计软件分享。
直播间背景图怎么设计?直播间背景是指直播时所展示的背景墙或屏幕,通常用于营造氛围和增强视觉效果.在直播中,背景可以承载主播个人风格.节目内容.品牌形象等信息,同时也是吸引观众注意力和提高观看体验的重要 ...
- python天气查询小程序加背景图_微信小程序开发背景图显示功能
这两天开发微信小程序,在设置背景图片时,发现在wxss里面设置background-image:(url) 属性,不管是开发工具还是线上都无法显示.经过查资料发现,background-image只能 ...
- 抖音同款 抖音 城堡 微信背景图,抖音城堡微信背景图
抖音同款 抖音城堡 微信背景图
- vue 背景图 自适应_Vue的自适应视频背景播放器
vue 背景图 自适应 Vue响应视频背景播放器 (vue-responsive-video-background-player) Play your own videos in background ...
- 计算机过去与未来ppt背景图,过去无可挽回未来可以改变背景图高清图片大全
过去无可挽回未来可以改变背景图高清图片大全是一组在抖音上面很火爆的表情包图片,一组超多内容可以去查看的素材.会让用户在线很简单的进行下载,还可以免费的就会让用户进行使用.大量会帮助到用户进行保存的内容 ...
- android 下拉放大背景图,Swift - 实现下拉时背景图片放大效果(仿QQ个人资料页面)...
在 QQ的个人信息页面上方有个背景图片,当我们下拉整个页面时,这个背景图会随着拖动距离而变大.下面通过样例演示这个效果如何实现. 1,效果图 当下拉页面时,背景图片会随着偏移量的增加而放大. 2,样例 ...
- html背景图不同位置显示,div层背景图片显示位置详解
代码详解: div { background-image:url(/images/bg.jpg); 设置div层的背景图片 background-repeat:no-repeat; 背景图片不重复显示 ...
- html5设置全屏背景图,HTML5 body设置全屏背景图片 如何让body的背景图片自适应整个屏----实战经验...
用什么代码实现?不允许有白色底色产生,因为手机高度不一样 错误的写法:加到div中结合图片设置min-height,但是页面不会回弹 话不多说直接上代码 终极方案 html,body{ width:1 ...
- html5 自动扣图,html5利用canvas实现颜色容差抠图功能
利用canvas的getImageData,我们可以获取到一张图片每一个像素的信息,而通过对每一个像素信息的对比,我们就可以找到需要消去的像素点.比如下面这一张图片,如果我们想要扣去白色部分(粉色是b ...
- html5极地区域图,HTML5 + JS极地散点图
任何人都可以推荐现有的HTMl5/JS数据可视化工具包或lib,可以帮助生成类似于此的极性散点图吗?代码示例将很酷!HTML5 + JS极地散点图 不幸的是,我必须做出对平板电脑这个工作来看待数据的实 ...
最新文章
- 分享一个PyTorch医学图像分割开源库
- 6位图灵奖得主,10多位院士,19个分论坛:北京智源大会邀你共同探索AI下一个十年...
- setInterval 与 clearInterval详解
- 基于PI Pico一些基础实验
- antdesign的input增加自定义校验规则
- python基础代码-Python基础(代码)
- 菜鸟学习笔记2,$(document).ready()使用讨论
- sql 日期和当前日期时间差_如何通过excel获取当前的日期和时间
- Altium designer原理图导入word文档模糊——终极解决办法
- java nio.2群发_JAVA NIO TCP SOCKET 聊天群发
- js中的object
- 对比rank, dense_rank, row_number
- F5 LTM fullnat模式测试记录及配置
- 前端速成:双月Java之旅(week5)_day4
- 匹兹堡大学约翰斯敦计算机学院,英语翻译翻译Every human being,no matter what he is doing,gives off...
- 刷题 Python: 明码
- Python---面向对象---龟鱼游戏
- C#压缩或解压(rar和zip文件)
- 网易视频云谈视频云的根基:云计算的介绍
- 【从0到1搭建LoRa物联网】4、国产LoRa终端ASR6505普通GPIO
热门文章
- c语言假币问题的编程,假币问题 (C语言代码)
- 第一章 基本架设服务器流程
- 为什么用Win32forth编程的程序员不多
- 汉能薄膜太阳能技术将国家电投大楼变身节能光伏建筑
- ME525 刷机历险记
- native react 图片裁剪_react-native Android截屏长图
- PYTORCH中torch.mean(),dim=0,dim=1分别代表什么
- ​一文看尽MAE最新进展!恺明的MAE已经提出大半年,目前发展如何?
- 火山引擎虚拟数字人技术与应用
- Qt 之 QQ系统表情—实现动态显示效果