Audio timing was messed up, so changed it to be callback based. Added one shot option that doesn't stop any sound that's currently playing on the audio track