whs
Version:
Super-fast 3D framework for Web Applications & Games. Based on Three.js
41 lines (33 loc) • 807 B
JavaScript
import {
PositionalAudio,
AudioListener,
AudioLoader
} from 'three';
export default class PositionalAudioModule {
constructor(params = {}) {
this.params = Object.assign({
loop: true
}, params);
this.audioListener = new AudioListener();
this.audioLoader = new AudioLoader();
this.positionalAudio = new PositionalAudio(this.audioListener);
this.positionalAudio.setLoop(this.params.loop);
}
addListener(object) {
object.native.add(this.audioListener);
};
play(path) {
const sound = this.positionalAudio;
this.audioLoader.load(path, buffer => {
sound.setBuffer(buffer);
sound.setRefDistance(50);
sound.play();
});
};
bridge = {
mesh(mesh, self) {
mesh.add(self.positionalAudio);
return mesh;
}
}
}