What is different between THREE.PositionalAudio and HTMLAudioElement?
I am working on a web app which has 3D model. Users are able to click on model and play clickSound.
What’s different between THREE.PositionalAudio:
let soundListener = new THREE.AudioListener(); audioLoader = new THREE.AudioLoader(); let clickSound = new THREE.PositionalAudio(soundListener); audioLoader.load( 'assets/audio/click.mp3', function ( buffer ) { clickSound.setBuffer(buffer); clickSound.setRefDistance(20); clickSound.setLoop(false); clickSound.setVolume(10); clickSound.play();
});
and HTMLAudioElement:
let clickSound = new Audio('assets/audio/click.mp3'); clickSound.play().then(() => {});
THREE.Audio and THREE.PositionalAudio are based on the Web Audio API which has significant advantages over ordinary HTML 5 audio elements. I suggest you google this topic since there are many existing resources with comparison.
In general, for UI sound effects you want to use THREE.Audio (since spatialization is not required).