File size: 567 Bytes
2b7aae2
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
class AudioAnalyser {
	constructor(audio, fftSize = 2048) {
		this.analyser = audio.context.createAnalyser();
		this.analyser.fftSize = fftSize;

		this.data = new Uint8Array(this.analyser.frequencyBinCount);

		audio.getOutput().connect(this.analyser);
	}

	getFrequencyData() {
		this.analyser.getByteFrequencyData(this.data);

		return this.data;
	}

	getAverageFrequency() {
		let value = 0;
		const data = this.getFrequencyData();

		for (let i = 0; i < data.length; i++) {
			value += data[i];
		}

		return value / data.length;
	}
}

export { AudioAnalyser };