Sound
Although Three.js is a graphics library, there is an experimental THREE.AudioObject
class at examples/js/AudioObject.js
that uses the Web Audio API to support 3D sound effects. This object inherits from Object3D
so it can be attached to other objects and placed in the world. It is designed to use spatially accurate 3D sound. The main caveat is that the class only works with Chrome as of Three.js version r61 due to browser incompatibilities.
Tip
Like with external models, audio is loaded with AJAX, so local file URLs won't work by default.
That said, let's go ahead and try adding some cheering sounds when a flag is captured. First, we'll create our AudioObject
instances when we initialize our flags:
var cheering = new THREE.AudioObject('cheering.ogg', 0, 1, false); scene.add(cheering);
This code creates an object to play the cheering.ogg
file with a volume of 0
, a playback rate of 1
, and no looping. We set the volume to zero initially because AudioObject
plays the sound immediately, and...