AudioAnalyser

创建AudioAnalyser对象, 使用AnalyserNode 去分析音频数据.

使用了 Web Audio API.

代码示例

// create an AudioListener and add it to the camera const listener = new v3d.AudioListener(); camera.add(listener); // create an Audio source const sound = new v3d.Audio(listener); // load a sound and set it as the Audio object's buffer const audioLoader = new v3d.AudioLoader(); audioLoader.load('sounds/ambient.ogg', function(buffer) { sound.setBuffer(buffer); sound.setLoop(true); sound.setVolume(0.5); sound.play(); }); // create an AudioAnalyser, passing in the sound and desired fftSize const analyser = new v3d.AudioAnalyser(sound, 32); // get the average frequency of the sound const data = analyser.getAverageFrequency();

例子

webaudio / sandbox
webaudio / visualizer

构造函数

AudioAnalyser(audio, fftSize)

创建AudioAnalyser.

属性

.analyser : AnalyserNode

AnalyserNode用来分析音频数据.

.fftSize : Integer

2的幂次方最高为2048, 用来表示确定频域的FFT (傅立叶变换)大小. 这个page有详细信息.

.data : Uint8Array

用来分析数据的Uint8Array的大小由analyser.frequencyBinCount 确定.

方法

.getFrequencyData () : Uint8Array

使用网络音频的getByteFrequencyData 方法. 看这个页面.

.getAverageFrequency () : Number

通过方法getFrequencyData获取平均频率.

源码

src/audio/AudioAnalyser.js