La guilde des makers de KalHidia
Vous souhaitez réagir à ce message ? Créez un compte en quelques clics ou connectez-vous pour continuer.
La guilde des makers de KalHidia

Site pour tous les programmeurs, musiciens, dessinnateur qui voudraient se perfectionner dans ces arts!
 
AccueilAccueil  RechercherRechercher  Dernières imagesDernières images  S'enregistrerS'enregistrer  Connexion  
Le Deal du moment :
Code promo Nike : -25% dès 50€ ...
Voir le deal

 

 La librairie FMOD en C [mots clefs]

Aller en bas 
AuteurMessage
Drogo-Hardbottle
Admin
Drogo-Hardbottle


Nombre de messages : 113
Date d'inscription : 09/08/2006


Catégorie Principale: Programmeur
Grade de la catégorie principale: Divinité
Niveau de la catégorie principale:
La librairie FMOD en C [mots clefs] Left_bar_bleue200/200La librairie FMOD en C [mots clefs] Empty_bar_bleue  (200/200)

La librairie FMOD en C [mots clefs] Empty
MessageSujet: La librairie FMOD en C [mots clefs]   La librairie FMOD en C [mots clefs] EmptyDim 8 Oct - 5:27

Langage C


La librairie FMOD


Cette librairie permet de générer des sons à l' écran, la SDL aussi incorpore une partie qui permet de générer des sons à l' écran mais je n' ai pas encore eu locasion de l' essayer.



Générer des sons à l' écran:

FSOUND_Init(p1, p2, p3); /* Permet de charger la librairie FMOD.
p1 = { Qualité CD : 44 100 Hz, Qualité radio : 22 050 Hz, Qualité téléphonique : 11 025 Hz};
p2 = {Le nombre maximal de canaux que devra gérer FMOD. En d'autres termes, c'est le nombre maximal de sons qui pourront être joués en même temps. Tout dépend de la puissance de votre carte son. On conseille généralement une valeur de 32 (ce sera suffisant pour la plupart des petits jeux). Pour info, FMOD peut théoriquement gérer jusqu'à 1024 canaux différents, mais à ce niveau ça risque de beaucoup faire travailler votre ordinateur !};
p3 = {Indiquer un flag};*/

FSOUND_Close(variable); //Ferme la lib FMOD



Sons courts:

FSOUND_SAMPLE *variable = NULL; // Variable qui pointera sur notre son
FSOUND_Sample_Load(p1, p2, p3, p4, p5); /* Permet de charger un son:
p1 = Ce paramètre sert au fonctionnement interne de FMOD pour qu'il s'assure de libérer tous les sons à la fin au cas où vous auriez oublié de le faire.
Pour indiquer un numéro de la sample pool, le mieux est d'envoyer FSOUND_FREE à la fonction. Elle se chargera alors de prendre le premier emplacement libre de la sample pool qu'elle trouvera. Ne vous posez donc pas trop de questions ce n'est pas bien utile ici, envoyez juste FSOUND_FREE Wink
p2 = Le nom du fichier son à charger. Il peut être de format WAV, MP3, OGG, etc. Toutefois, il vaut mieux charger des sons courts (quelques secondes maximum) plutôt que des sons longs. En effet, la fonction chargera et décodera tout le son en mémoire, ce qui peut prendre de la place si le son est une musique !
p3 = Le troisième paramètre ne nous intéresse pas, il permet de préciser les caractéristiques du fichier qu'on veut charger (fréquence d'échantillonnage, etc.). Or, dans le cas des WAV, MP3, OGG et cie, ces informations sont inscrites dans le fichier. On va donc envoyer la valeur 0 pour ne rien préciser.
p4 = L'offset où doit commencer la lecture. Cela permet de commencer la lecture du son à un moment précis. Mettez 0 pour commencer du début.
p5 = La longueur : si vous précisez un offset, il faudra aussi donner la longueur de son à lire. On mettra là encore 0 car on veut tout lire.


exemple:

tir = FSOUND_Sample_Load(FSOUND_FREE, "pan.wav", 0, 0, 0);*/

//Pour jouer un son:

FSOUND_PlaySound(p1, p2); /* Permet de jouer un son
p1 = Libére le son à la fin.
p2 = variable qui pointe sur le son qu' on veut jouer */




Sons longs:

FSOUND_STREAM *variable = NULL; //variable pointera sur la musique que l' on voudra.

FSOUND_Stream_Open(p1, p2, p3, p4); /*Permet d' ouvrir un son long.
p1 = nom du fichier ( parcourt ou autre..)
p2 = ?
p3 = ?
p4 = ?
*/

FSOUND_Stream_Play(p1, p2); /*Joue le son long...
p1 = Le numéro du canal sur lequel jouer le son (envoyez FSOUND_FREE et FMOD se débrouillera tout seul pour trouver un canal libre)
p2 = * Le pointeur vers le fichier à lire (dans notre cas il s'appelle musique).
exemple:
FSOUND_Stream_Play(FSOUND_FREE, musique);*/


FSOUND_SetVolume(p1, p2); /* Modifie le volume d' un son long.
p1 = Le numéro du canal dont on doit changer le volume (pour changer le volume de tous les canaux, envoyez FSOUND_ALL)
p2 = * Le nouveau volume : mettez un nombre de 0 (silencieux) à 255 (volume maximal) Peut être utile pour les sons courts aussi.*/

FSOUND_Stream_SetLoopCount(p1, p2); /* Permet de répéter un son plusieurs fois.
p1 = Le pointeur vers la chanson
p2 = Le nombre de fois qu'elle doit être répétée.
Si la valeur est négative, la chanson sera répétée à l' infinie (-x)

FSOUND_GetPaused(numero_du_canal);/*Permet de savoir si la chanson
et jouée ou pas.
1 = pause
0 = est en train d' être jouée*/

FSOUND_SetPaused(numero_du_canal, etat) ; /* met en pause ou réactive la lecture de la chanson sur le canal indiqué. Envoyez 1 pour mettre en pause, 0 pour réactiver la lecture.*/

FSOUND_Stream_Stop(variable); /* permet d' arréter la musique. */

FSOUND_Stream_Close(variable); /* Libére de la mémoire la variable
qui pointe sur la musique choisie. */



Pour jouer des midis:


FMUSIC_MODULE *variable = NULL;//Indique qu' on va jouer un fichier midi.
variable = FMUSIC_LoadSong("fichier.mid"); // Charge le midi choisis.

FMUSIC_PlaySong(variable); //Joue le midi.
FMUSIC_SetLooping(variable, 1); /*joue le midi qui sera répété à l' infini.
C'est différent des MP3, OGG, etc..
FMUSIC_GetPaused(variable); // Indique si la musique est en pause.
FMUSIC_SetPaused(variable, 1); // Met en pause ou réactive la musique
//0 = réactive la musique, 1 = met en pause la musique
FMUSIC_SetMasterVolume(variable, 150); /* Change le son.
de 0(min) à 255(max)*/
FMUSIC_StopSong(variable); // Stop la lecture du midi
FMUSIC_FreeSong(variable); // Libère la variable qui pointe sur le midi.





[n°3 Expert"exp29"] Ne vous occupez pas de ça...
C'est juste pour me rappeler ce que j' aurai pu oublier.

[Si certaines personnes trouvent qu' il manque des choses, envoyez moi un mp.]
Revenir en haut Aller en bas
https://lgdmm.forumactif.com
 
La librairie FMOD en C [mots clefs]
Revenir en haut 
Page 1 sur 1

Permission de ce forum:Vous ne pouvez pas répondre aux sujets dans ce forum
La guilde des makers de KalHidia :: Langages machine :: Les mots clés pour maîtriser certains langages machine. :: Tutoriels sur le html, php, js, C/C++, ruby.-
Sauter vers: