Le composanr gb.sdl.sound( Temps de lecture estimé à 1 min 30 sec )
Bonsoir,
aujourd 'hui nous allons étudier le composant gb.sdl.sound qui vous permet de jouer des son à partir de Gambas.
SOUND
C 'est un son principalement au format wav qui peut être lu par la commande :
mysound = NEW Sound( /home/user/yeah.wav )
mysound.play
la premiere ligne charge en memoire et la 2eme ligne lance la lecture su son.
Malheureusement pour nous, nous ne pouvons pas arréter le son. Il s 'arrètera à la fin de sa lecture. Nous ne maitrisons pas non plus le canal sur lequel gambas le joue. Il est donc utile de ne pas coder comme ceci mais plutôt comme l 'exemple qui vient après.
CHANNELS
C 'est le canal sur lequel sera lu le son.Il y en a 32 utilisable, ce qui laisse flexibilité pour notre application. Il est facile de jouer un son avec cette commande :
mysound = NEW Sound( /home/user/yeah.wav )
Channels[3].Play(mysound, 0)
la 1ere ligne charge le son au format wav en memoire et la deuxieme ligne joue le son mysound sur le canal 3 en le répetant 1 fois (le zéro).
nous aurions pu mettre répétition en boucle avec -1
ou le répéter 2 fois en mettant 1, trois fois en mettant 2 etc...
L 'avantage de coder de cette façon c 'est que la commande Channels a des options interessantes comme :
PAUSE, PLAY STOP, et VOLUME
exemple :
Channels[3].Pause
Channels[3].Stop
Channels[3].Volume = 0.12
le volume doit être compris entre 0.1 et 1 soit de 1 à 100%
MUSIC
Cette commande permet de jouer une musique au format mp3 directement à partir du disque sans chargement en mémoire. Il n 'y a qu 'une seule piste disponible. Voic la commande à utiliser :
Music.Load( /home/user/essai.mp3 )
Music.Play
CDROM
Permet de piloter le CDROM sur le même principe que les channels.
voilà pour aujourd 'hui
Remarque : L 'erreur 11 apparait souvent lors de l 'utilisation de la bibliothèque Sdl. Il s 'agit d 'un bug lié à cette bibliothèque et no à Gambas.