three.js AudioListener

2023-02-16 17:28 更新

AudioListener 用一個虛擬的listener表示在場景中所有的位置和非位置相關(guān)的音效.

一個three.js程序通常創(chuàng)建一個AudioListener. 它是音頻實體構(gòu)造函數(shù)的必須參數(shù),比如 Audio and PositionalAudio.

大多數(shù)情況下, listener對象是camera的子對象. Camera的3D變換表示了listener的3D變換.

代碼示例

// create an AudioListener and add it to the camera
const listener = new THREE.AudioListener();
camera.add( listener );

// create a global 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();
});

例子

webaudio / sandbox

webaudio / timing

webaudio / visualizer

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

AudioListener( )

創(chuàng)建一個新的AudioListener.

屬性

.context : AudioContext

listener構(gòu)造函數(shù)中的AudioContext.

.gain : GainNode

使用AudioContext.createGain()創(chuàng)建 GainNode.

.filter : AudioNode

默認(rèn)為null.

.timeDelta : Number

audio 實體的時間差值。在 AudioParam.linearRampToValueAtTimeDefault() 上下文中使用。默認(rèn)是 0。

方法

.getInput () : GainNode

返回gainNode.

.removeFilter () : this

設(shè)置filter屬性為null.

.getFilter () : AudioNode

返回filter屬性的值.

.setFilter ( value : AudioNode ) : this

設(shè)置filter 屬性的值.

.getMasterVolume () : Float

返回音量.

.setMasterVolume ( value : Number ) : this

設(shè)置音量.

源碼

src/audio/AudioListener.js


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

掃描二維碼

下載編程獅App

公眾號
微信公眾號

編程獅公眾號