Positional Audio
Create a positional audio object.
This uses the Web Audio API.
Code Example
// create an AudioListener and add it to the camera
const listener = new THREE.AudioListener();
camera.add( listener );
// create the PositionalAudio object (passing in the listener)
const sound = new THREE.PositionalAudio( listener );
// load a sound and set it as the PositionalAudio object's buffer
const audioLoader = new THREE.AudioLoader();
audioLoader.load( 'sounds/song.ogg', function( buffer ) {
sound.setBuffer( buffer );
sound.setRefDistance( 20 );
sound.play();
});
// create an object for the sound to play from
const sphere = new THREE.SphereGeometry( 20, 32, 16 );
const material = new THREE.MeshPhongMaterial( { color: 0xff2200 } );
const mesh = new THREE.Mesh( sphere, material );
scene.add( mesh );
// finally add the sound to the mesh
mesh.add( sound );
Examples
Constructor
PositionalAudio( listener : AudioListener )
listener — (required) AudioListener instance.
Properties
See the Audio class for inherited properties.
.panner : PannerNode
The PositionalAudio’s PannerNode.
Methods
See the Audio class for inherited methods.
.getOutput () : PannerNode
Returns the panner.
.getRefDistance () : Float
Returns the value of panner.refDistance.
.setRefDistance ( value : Float ) : this
Sets the value of panner.refDistance.
.getRolloffFactor () : Float
Returns the value of panner.rolloffFactor.
.setRolloffFactor ( value : Float ) : this
Sets the value of panner.rolloffFactor.
.getDistanceModel () : String
Returns the value of panner.distanceModel.
.setDistanceModel ( value : String ) : this
Sets the value of panner.distanceModel.
.getMaxDistance () : Float
Returns the value of panner.maxDistance.
.setMaxDistance ( value : Float ) : this
Sets the value of panner.maxDistance.
.setDirectionalCone ( coneInnerAngle : Float, coneOuterAngle : Float, coneOuterGain : Float ) : this
This method can be used in order to transform an omnidirectional sound into a directional sound.