GLam Collection version 0.4 - | ACCUEIL - CLASSES - HIERARCHIE - MEMBRES - EXEMPLES |
Source sonore. Plus de détails...
#include <glamsound.h>
Fonctions membres publiques | |
GLamSound (const char *filename, bool loop=true) | |
GLamSound (double frequency, double duration, bool loop=false) | |
~GLamSound () | |
void | setPosition (const XamPoint &pos) |
void | setPosition (double x, double y, double z) |
XamPoint | position () const |
void | setVelocity (const XamVector &velocity) |
XamVector | velocity () const |
void | setDirection (const XamVector &direction) |
XamVector | direction () const |
void | setPitch (double pitch) |
double | pitch () const |
void | rewind () |
void | pause () |
void | stop () |
void | play () |
int | state () const |
ALuint | id () const |
Source sonore.
La classe GLamSound permet d'ajouter des sons à la scène de rendu 3D. Chaque source sonore peut être fixe, mobile, ou attachée à un objet de la hiérarchie GLamObject.
Les sources sonores peuvent être issues de fichiers (format WAV) ou fabriquées localement (signal sinusoïdal pur).
La classe GLamSound est basée sur la librairie libre OpenAL, les programmes clients peuvent éventuellement exploiter les autres ressources de cette librairie en utilisant l'identifiant de source mis à disposition par la classe.
Le contexte audio doit être mis en place au prélable par une instance de classe GLamSoundListener.
Cette classe est disponible seulement si la bibliothèque GLam a été compilée avec l'option GLAM_OPENAL_SUPPORT.
position
: Position spatiale de la source sonore.
velocity
: Vecteur vitesse de la source sonore.
direction
: Vecteur direction de la source sonore.
pitch
: Coefficient multiplicateur de tonie. Une valeur égale à 2.0 monte d'un octave, une valeur de 0.5 descend d'un octave. Modifie la durée du son.
// attributs GLamSoundListener listener ; // auditeur par défaut GLamSound* snd1 ; GLamSound* snd2 ; // construction snd1 = new GLamSound("data/sonarbeep.wav" ) ; // fond sonore en boucle snd1->setPitch( 0.2 ) ; snd1->play() ; snd2 = new GLamSound(440, 1 ) ; // ponctuel 440 Hz, 1 seconde // lecture conditionnelle (touche clavier,... ) if ( ... ) snd2->play() ; // destruction delete snd1 ; delete snd2 ;
GLamSound::GLamSound | ( | const char * | filename, | |
bool | loop = true | |||
) |
Constructeur.
Charge un son à partir du chemin filename spécifié. Le fichier peut être au format WAV, ou de tout autre format reconnu par 'libsndfile' si la bibliothèque GLam a été compilée avec l'option GLAM_LIBSNDFILE_SUPPORT.
La bande sonore est jouée en boucle par défaut.
En cas d'échec, des messages sont injectés sur la sortie standard d'erreur.
GLamSound::GLamSound | ( | double | frequency, | |
double | duration, | |||
bool | loop = false | |||
) |
Constructeur.
Fabrique un son sinusoïdal pur de fréquence frequency (en Hertz) et de durée duration (en secondes).
GLamSound::~GLamSound | ( | ) |
Destructeur.
ALuint GLamSound::id | ( | ) | const [inline] |
Retourne l'identifiant OpenAL de la source sonore.
void GLamSound::pause | ( | ) |
Interruption de la lecture de la bande son.
double GLamSound::pitch | ( | ) | const |
Propriété pitch.
void GLamSound::play | ( | ) |
Démarrage de lecture de la bande son.
void GLamSound::rewind | ( | ) |
Rembobinage de la bande son.
void GLamSound::setPitch | ( | double | pitch | ) |
Propriété pitch.
void GLamSound::setPosition | ( | double | x, | |
double | y, | |||
double | z | |||
) |
Propriété position.
int GLamSound::state | ( | ) | const |
Retourne l'état courant de source sonore Les valeurs possibles sont : AL_INITIAL | AL_PLAYING | AL_PAUSED | AL_STOPPED.
void GLamSound::stop | ( | ) |
Arrêt de lecture de la bande son.