Playsound stops though when another called is made to it so not sure.
Nah, please don't use that.
As a suggestion, use openal. Seems right up the alley with optional sound-distance that can be used. That is, if you are not planning on switching to a gaming engine that offers its own sound-support.
It is an external library. The basics go like:
- create audio buffer from audio-file (or memory or live generated samples)
- create sound-source(s)
- link sound-buffer to sound-source
- set details of sound-source (looping, distance, pitch, speed etc)
- Set location of listener
- Play one or multiple sources, if wanted adjust any of the details over time that can be changed.
- Stop or restart one or multiple sources from playing
- when done delete the sources and buffers for memory.