css中用wave滤镜,使用waveurfer.js为CSS属性设置动画效果

var wavesurfer = WaveSurfer.create({

container: '#waveform',

waveColor: '#5B88C8',

progressColor: '#264E73'

});

wavesurfer.load('https://ia902606.us.archive.org/35/items/shortpoetry_047_librivox/song_cjrg_teasdale_64kb.mp3');

//get the AnalyserNode from wavesurfer

//@see https://developer.mozilla.org/en-US/docs/Web/API/AnalyserNode

var analyser = wavesurfer.backend.analyser,

//array to store the frequency data

//@see https://developer.mozilla.org/en-US/docs/Web/API/AnalyserNode/getByteFrequencyData

frequencyData = new Uint8Array(analyser.frequencyBinCount),

//div to animate and play/pause button

box = document.getElementById('box'),

play = document.getElementById('play');

//play button - play pause audio

play.addEventListener('click', function() {

wavesurfer.playPause();

});

//wavesurfer 'audioprocess' event Fires continuously as the audio plays @see events on wave surfer http://wavesurfer-js.org/docs/events.html

wavesurfer.on('audioprocess', function(e) {

analyser.getByteFrequencyData(frequencyData);

//console.log(frequencyData);

//simple example - get the first value in the array and set the width of the box

var w = frequencyData[0] * 0.05;

//apply a scale transform;

box.style.transform = 'scale(' + w + ',1)';

});

/* add some transition */

.animation {

margin: 50px auto;

width: 50px;

height: 50px;

background-color: #71C2D0;

transition: transform 0.1s ease-out;

}

Play

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值