WIDGETS GAMBAS
LOGICIELS GAMBAS 3
TUTORIELS
VISITES

   visiteurs

   visiteur en ligne

Où ça, qui ça?
Gambas 2 - gb.sdl.sound
GB.SDL.SOUND



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.





Date de création : 11/01/2011 @ 20:15
Dernière modification : 01/03/2011 @ 10:13
Catégorie : Gambas 2
Page lue 3312 fois


Imprimer l'article Imprimer l'article


react.gifRéactions à cet article


Réaction n°3 

par spheris le 03/05/2011 @ 18:22

Autant pour moi je n'avais pas vu la fréquence !
1000Hz correspond à 1 milliseconde, ce qui est bien trop rapide pour gambas.

Il te faut passer par un circuit externe à brancher sur le pc (genre arduino, pic etc...) toujours dans le cas où tu veux utiliser Gambas bien entendu.
wink

Réaction n°2 

par spheris le 03/05/2011 @ 18:19

Guy,
il te suffit de mettre sur ta feuille un Timer  et dans ton timer tu demande a jouer un son comme ceci :

Timer1_timer()
dim mysound as sound
mysound = sound("/home/user/monson.wav")
play mysound
End

bien sur n'oublie pas d'activer ton timer par timer1.enabled = true

A bientôt
wink


Réaction n°1 

par guyvdv le 28/04/2011 @ 12:41

Bj,
Je me demande si tu peut m'aider.
Je veut ecrire un program qui m'aidera a tester mon morse.
Alors soit en gambas soi en php je veut un signal d'environ 1000Hz que je peut couper en petit morceaux les dit's et les Dah's

mais je n'ai pas trouver un beep programmable comme en VB

merci de m'aider

guy van der velden

ACCES RAPIDE
RECHERCHE




LOGICIELS GAMBAS 2
LES INSTRUCTIONS
LES COMPOSANTS
Divers

^ Haut ^