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 v3d.AudioListener(); camera.add(listener); // create the PositionalAudio object (passing in the listener) const sound = new v3d.PositionalAudio(listener); // load a sound and set it as the PositionalAudio object's buffer const audioLoader = new v3d.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 v3d.SphereGeometry(20, 32, 16); const material = new v3d.MeshPhongMaterial({ color: 0xff2200 }); const mesh = new v3d.Mesh(sphere, material); scene.add(mesh); // finally add the sound to the mesh mesh.add(sound);


PositionalAudio(listener : AudioListener)

listener — (required) AudioListener instance.


See the Audio class for inherited properties.

.panner : PannerNode

The PositionalAudio's PannerNode.


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.


For more info on how to obtain the source code of this module see this page.