three.js AudioAnalyser

2023-02-16 17:28 更新

創(chuàng)建AudioAnalyser對象, 使用AnalyserNode 去分析音頻數(shù)據(jù).

使用了 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

構(gòu)造函數(shù)

AudioAnalyser( audio, fftSize )

創(chuàng)建AudioAnalyser.

屬性

.analyser : AnalyserNode

AnalyserNode用來分析音頻數(shù)據(jù).

.fftSize : Integer

2的冪次方最高為2048, 用來表示確定頻域的FFT (傅立葉變換)大小. 這個page有詳細信息.

.data : Uint8Array

用來分析數(shù)據(jù)的Uint8Array的大小由analyser.frequencyBinCount 確定.

方法

.getFrequencyData () : Uint8Array

使用網(wǎng)絡(luò)音頻的getByteFrequencyData 方法. 看這個頁面.

.getAverageFrequency () : Number

通過方法getFrequencyData獲取平均頻率.

源碼

src/audio/AudioAnalyser.js


以上內(nèi)容是否對您有幫助:
在線筆記
App下載
App下載

掃描二維碼

下載編程獅App

公眾號
微信公眾號

編程獅公眾號