日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 前端技术 > HTML >内容正文

HTML

html5音乐背景图,HTML5 Audio 麦克风操控+钻石背景图案

發(fā)布時間:2023/12/20 HTML 28 豆豆
生活随笔 收集整理的這篇文章主要介紹了 html5音乐背景图,HTML5 Audio 麦克风操控+钻石背景图案 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

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);

}

);

總結(jié)

以上是生活随笔為你收集整理的html5音乐背景图,HTML5 Audio 麦克风操控+钻石背景图案的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。