js获取音频图形,audio图形解码
分享知识http://www.fedrobots.com/?search=282752我来纠错function setup() {
// 为了得到音频数据创建的对象
audioContext = audioContext || new AudioContext();
// 调用音频解码器
analyser = (analyser || audioContext.createAnalyser());
//
sourceNode = audioContext.createMediaElementSource(audio);
//
sourceNode.connect(analyser);
sourceNode.connect(audioContext.destination);
audio.play();
update();
}
function update() {
//audio.paused 设置或返回音频/视频是否暂停
//audio.currentTime 设置或返回音频/视频中的当前播放位置(以秒计)
//console.log(audio.duration);
progress.style.width = audio.currentTime/audio.duration*100+'%';
//audio.pause();
//得到的音频是一个二进制的,需要,解析数据
freqArray = new Uint8Array(analyser.frequencyBinCount);
//得到数组
analyser.getByteFrequencyData(freqArray);
fn(freqArray);
if(audio.paused){
freqArray = null;
for( var i = 0; i < 7; i++ ){
aImg[i].style.cssText = '';
}
}else{
requestAnimationFrame(update);
}
};