UNPKG

705 BJavaScriptView Raw
1/**
2 * @author mrdoob / http://mrdoob.com/
3 */
4
5function AudioAnalyser( audio, fftSize ) {
6
7 this.analyser = audio.context.createAnalyser();
8 this.analyser.fftSize = fftSize !== undefined ? fftSize : 2048;
9
10 this.data = new Uint8Array( this.analyser.frequencyBinCount );
11
12 audio.getOutput().connect( this.analyser );
13
14}
15
16Object.assign( AudioAnalyser.prototype, {
17
18 getFrequencyData: function () {
19
20 this.analyser.getByteFrequencyData( this.data );
21
22 return this.data;
23
24 },
25
26 getAverageFrequency: function () {
27
28 var value = 0, data = this.getFrequencyData();
29
30 for ( var i = 0; i < data.length; i ++ ) {
31
32 value += data[ i ];
33
34 }
35
36 return value / data.length;
37
38 }
39
40} );
41
42export { AudioAnalyser };