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);


webaudio / orientation
webaudio / sandbox
webaudio / timing


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.