Forum Clubic

Fonction sonore en C

Bonjour , bon voila mon ptit probleme , je réalise un jeux en C basé sur la mémoire , le jeux s’appelle SIMON(reproduire une séquence de couleur aléatoire). Je l’ai fini aujourd hui mais j’aimerais inclure des sons , ou des beep de différente fréquence pour chaque quart de cercle.Je n’ai rien pu trouvé sur le net d’encourageant , si vous pouviez m’éclairer ca serait sympa.merci a vous

beep ?

heu , oui c’est gentil mais comment je fais pour l’intégré a mon source ?? et puis c’est vachement costaud à comprendre , y aurais pas moyen d’intégrer de l’assembleur dans le turbo C.

Si c’est pas du C, indique le dans ton topic (turbo C?)

Sinon ce qu’il te file fait exactement ce que tu veux. Essaye en affichant \a (fputs("\a", stdout)) pour t’en convaincre.

C’est du C , mais qu’est-ce que je dois faire avec ce qui ma filé ?

L’adapter à ton jeux ? :heink:

ca marche pas le programme du lien , j’utilise turbo C 2 , je devrais prendre quel compilateur ?

Devc++

mon jeux tourne sur le new compilateur , mais le programme du site ne veut pas se compiler , j’ai plein d 'erreurs

Un peu normal, #include <linux/kd.h> ça risque pas de tourner sous Windows :smiley:

(essaye avec \b, ou \a)

le \a me fait un son , mais j’aurais besoin de 4 beep différents ,enfin si je pouvais avoir 4 \a différent ca serait trop beau

Et 4 printf "\a" ca le fait pas 4 fois ?

oui lol , mais une tonalité différente pour chaqune des couleurs.

Dans ce cas utilise l’api son correspondant à ton OS et démarre un wav/mp3/etc?

non mais dans turbo c y’a la fonction beep d’implémentée si je me souvient bien :neutre:

négatif , je tappe beep ds le source , et je demande de l’aide via une combinaison de touches mais rien n’y fait , turbo c ne connait pas beep.

j’ai trouvé une solution à mon probleme pour ceux que ca peut aider .

ne pas rentre 0 => vous entendrez rien , des valeur comprise entre 1 et 4 pour mon jeux :oui:

fonction se basant sur la fréquence :sol:


void son(int valeur)
{
int i=inportb(0x61);

i=i | 3;

outportb(0x61,i);
outportb(0x43,182);
outport(0x42,(valeur*100)%256);
outport(0x42,(valeur*100)/256);

delay(30000);

i=inportb(0x61);
i=i & 252;
outport (0x61,i);
}

:super:

Ouaip, ça me rappelle l’aide sur cette fonction beep ou sound dans le turbo C sous DOS, ils donnaient un exemple avec une fréquence de 7Hertz, totalement inaudible, en illustrant avec une légende urbaine selon laquelle cette fréquence était celle de la boite crânienne de poulet, et qu’un élevage de poulet avait été décimé par cette fréquence. :smiley:

http://www.everything2.com/index.pl?node_id=1073503
http://www.metafilter.com/mefi/2006

ils avaient le sens de l’humour…