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.
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', ...