Architecture
The implementation of the sound system in Panda3d allows for a division of audio into two categories - Sound Effects and Music. This division is only a convenience for programmers as Panda3d allows these two audio groups to be treated individually. These differences are explained on the next page.
Basics
Loading a Sound
Loading sound is done through the Loader class. (Loading sounds through the 'base' builtin is deprecated and is only present for backwards compatibility.)
In a normal Panda3D environment, loader is a builtin when you import DirectStart like this:
import direct.directbase.DirectStart
|
Load the sound, by supplying the path to the sound. Here's an example:
mySound1 = loader.loadSfx("SoundFile.wav")
|
These will return an object of the type AudioSound. It is necessary to put the extension in the sound filename.
Playing a Sound
To play sounds you can do the following:
Stopping a Sound
To stop a sound:
Querying Sound Status
To check the status of a sound:
status() returns 1 if it isn't currently playing and 2 if it is playing.
Setting Volume
The volume can be set between 0 and 1 and will linearly scale between these.
Panning a Sound
You can change the balance of a sound. The range is between -1.0 to 1.0. Hard left is -1.0 and hard right is 1.0.
NOTE !!!
If running Panda from interactive prompt you must call the Update() command, after you play a sound.
base.sfxManagerList[n].update()
|
This is because the update() command is called every frame to reset a sound's channel.
In interactive mode Panda's frame update is suspended, and does not run automatically.
|