Sound effects and music in code are implemented as
AudioManager objects. You
can access these audio managers with the following code:
sfxMgr = base.sfxManagerList musicMgr = base.musicManager
sfxManagerList is a list of
AudioManager objects intended
to be used for sound effects, and
musicManager is an
intended to be used for music.
AudioManager object can have 16 different sounds cached at a given
time. This value is actually set as the
audio-cache-limit in the panda
config.prc (found in your install directory) and can be changed.
base.musicManager has a limit of 1 concurrent sound, however.
This limit can be explicitly increased using the following code:
# Allow playing two music files at the same time. base.musicManager.setConcurrentSoundLimit(2)
There are times where either sound effects, music, or both should be disabled and later enabled. These commands affect entire categories of sounds. Passing True or False in the last 2 functions will disable or enable the respective groups.
base.disableAllAudio() base.enableAllAudio() base.enableMusic(True) base.enableSoundEffects(True)
Positional audio is implemented through a wrapper of these objects and is covered in the next section, 3D Audio.