AudioAnalyser
优质
小牛编辑
131浏览
2023-12-01
创建AudioAnalyser对象, 使用AnalyserNode 去分析音频数据.
使用了 Web Audio API.
代码示例
// create an AudioListener and add it to the camera const listener = new THREE.AudioListener(); camera.add( listener ); // create an Audio source const sound = new THREE.Audio( listener ); // load a sound and set it as the Audio object's buffer const audioLoader = new THREE.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 THREE.AudioAnalyser( sound, 32 ); // get the average frequency of the sound const data = analyser.getAverageFrequency();
例子
webaudio / sandbox
webaudio / visualizer
构造函数
AudioAnalyser( audio, fftSize )
属性
.analyser : AnalyserNode
AnalyserNode用来分析音频数据.
.fftSize : Integer
2的幂次方最高为2048, 用来表示确定频域的FFT (傅立叶变换)大小. 这个page有详细信息.
.data : Uint8Array
用来分析数据的Uint8Array的大小由analyser.frequencyBinCount 确定.
方法
.getFrequencyData () : Uint8Array
使用网络音频的getByteFrequencyData 方法. 看这个页面.
.getAverageFrequency () : Number
通过方法getFrequencyData获取平均频率.