from pandac.PandaModules import loadPrcFileData
#loadPrcFileData("", "audio-library-name p3fmod_audio")
import direct.directbase.DirectStart
def go(b):
mySound = loader.loadSfx("mechfire.wav")
mySound.setBalance(b)
print b
mySound.play()
for i,c in enumerate("qwertyuiop"):
base.accept(c,go,[i/5.-1])
run()
using openAL mode (default) the balance does not work while if you uncommon t fmod it does.
it also appears that looping sounds attached through the Audio3DManager don’t work in any mode.
I got them to work via the loop interval (which manual says not to do!)
myInterval = SoundInterval(
mySound,
loop = 1, # this does not seem to do any thing even if i use play not loop
duration = mySound.length(),
volume = 10,
).loop()
Also the sound quality in OpenAL is horrible i get static on every base.cam motion! And this is running on windows with a descent sound hardware. There is also this kind of “cold” and a little bit in the “can” feel to openAl sound as apposed to FMod.
I have been busy with RL lately, so I am lagging a bit behind. But in 1.5.3 this is the set_balance routine for openal
set_balance(float balance_right) {
audio_debug("OpenALAudioSound::set_balance() not implemented");
}
So its not implemented. Are you trying to set the balance on a stereo (non-positioned) sound?
The standard implementation of OpenAL is not in good shape. I tried the OpenAL Soft (kcat.strangesoft.net/openal.html) implementation some time ago. It was better, but not yet perfect.
But the most annying sound problem so far has been restarts. My computer restarts often when i have too many sound 20+ playing at once in both openAl and FMOD.