Bonjour à tous,
Je suis à la recherche d une fonction qui fait bipper le pc.
J ai cherche et j ai trouvé la fonction BEEP().
Je n ai pas reussi à la coder, auriez vous un petit exemple pour m aider?
Merci pour votre aide.
Shaz.
Bonjour à tous,
Je suis à la recherche d une fonction qui fait bipper le pc.
J ai cherche et j ai trouvé la fonction BEEP().
Je n ai pas reussi à la coder, auriez vous un petit exemple pour m aider?
Merci pour votre aide.
Shaz.
Pourquoi tu n'utilise pas tout simplement :
???
Code : Sélectionner tout - Visualiser dans une fenêtre à part printf("\a");
bonjour,
les differentes notes sont le debut d une chanson de Brassens.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65 #include <stdlib.h> #include <stdio.h> #include <windows.h> #define FIN_PARTITION -4242 #define BOOL int #define TRUE 1 #define FALSE 0 BOOL check_partition( const int* part, const int* tempo ); int main( int argc, char** argv ) { static const int partition[] = { 349, 262, 294, 392, 262, 262, 349, 262, FIN_PARTITION }; static const int tempo[] = { 1, 1, 1, 1, 1, 1, 1, 1, FIN_PARTITION }; int code_retour = EXIT_SUCCESS; int cpt = 0; if( check_partition( partition, tempo ) == TRUE ) { while( partition[ cpt ] != FIN_PARTITION ) { Beep( partition[ cpt ], tempo[ cpt ] * 500 ); cpt += 1; } } else { fprintf( stderr, "Erreur dans la descritpition de la partition" ); } return code_retour; } BOOL check_partition( const int* part, const int* tempo ) { BOOL res = TRUE; int cpt = 0; if( part != 0 && tempo != 0 ) { while( part[ cpt ] != FIN_PARTITION && tempo[ cpt ] != FIN_PARTITION ) { cpt += 1; } if( part[ cpt ] != FIN_PARTITION || tempo[ cpt ] != FIN_PARTITION ) { res = FALSE; } } else { res = FALSE; } return res; }
oui des fois j ai du temps a perdre.
Bonjour dapounet,
Merci à Emmanuel et dapounet pour vos reponses. Et un truc de plus de compris
En tous les cas pour l instant je vais me contenter du printf("\a"); car plus tard j essaiera avec le petit programme que la communautée Developpez.com m aide à réaliser de lui donner une interface graphique avec Qt-Designer. Il y aura peut etre avec Qt une fonction qui me permettra de jouer un petit air.
Cordialement
Shaz
[Hors-sujet]
http://lists.trolltech.com/qt-intere...ad00147-0.html
[/Hors-sujet]
Bonjour Emmanuel ,
Excuse moi pour le hors-sujet, et merci pour ton lien, apparement le son sous linux , c est la galére.
Cordialement
Shaz
Sous Windows : Beep(note, duree en ms)
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58 #include <math.h> #include <stdio.h> #include <windows.h> /* s = "sharp" (#) */ enum note { A, AS, B, C, CS, D, DS, E, F, FS, G, GS }; /* gamme tempérée : progression geometrique racine 12eme de 2 (12 degres pour faire une octave) */ static void init_notes (double notes[]) { /* diapason A = 440 */ double a = 440; double r = pow (2, 1. / 12); int i; for (i = A; i <= GS; i++) { notes[i] = a; a *= r; } } int main (void) { double notes[GS + 1]; init_notes (notes); #define NOIRE 200.0 #define LIE NOIRE #define DET (NOIRE*9/10) #define SIL (NOIRE*1/10) /* gamme de DO majeur (liaisons par 2) */ Beep (notes[C]/2, LIE); Sleep (0); Beep (notes[D]/2, DET); Sleep (SIL); Beep (notes[E]/2, LIE); Sleep (0); Beep (notes[F]/2, DET); Sleep (SIL); Beep (notes[G]/2, LIE); Sleep (0); Beep (notes[A], DET); Sleep (SIL); Beep (notes[B], LIE); Sleep (0); Beep (notes[C], LIE); Sleep (0); return 0; }
Bonsoir à tous et à toutes,
Merci à BainE et Emmanuel pour vos réponses. J ai essayer la version de BainE (sous code::block, windows, pc du travail), et je crois que je vais arreter la guitare et me lancer dans ce nouvel instrument de musique qu est le pc.
Par contre en rentrant chez moi quand j ai allumé mon pc avec linux je me suis aperçu de l erreur que j avais commise en ne mentionnant pas dans mon premier post que j aurai souhaitez une aide mais en tenant compte du fait que j utilise kdevelop.
En plus j ai hate d essayer ta version Emmanuel car j ai eu plaisir entre autre de retrouver une petite formule ( racine 12eme de 2), qui me servait bien à l epoque ou j etais luthier.(pour la fabrication des manches de guitares)
Nostalgie, je m egare.........
Kdevelop n a forcement pas apprecier le windows.h , que j ai remplacer par unistd.h pour la fonction sleep(), mais pour "pow" et "beep()", il m affiche bien sur: "undefined reference".
Pour "pow" je ne comprends pas car j ai inclus math.h.(????)
Je sais j abuse , mais apres des recherches sur le net j ai pas trouvé les includes necessaires.
Merci encore de votre attention
Shaz
petit message de dernieres minutes , pour le probleme avec "pow", je pense que c est résolu car il ne me l affiche plus suite à cette modif que j ai trouvé sur le net et que je ne comprends pas:
Faire : Projet -> Options du projet -> Options de configure -> Dans l onglet "Generale", allez dans "Drapeaux de l editeur de liens (LDFLAGS)" , et rajouter l option " -lm ".
Juste dire à posteuris que lefonctionne à merveille.
Code : Sélectionner tout - Visualiser dans une fenêtre à part printf("\a");
Je continue a cherché pour beep().
Shaz
Y'a pas trop à chercher, il suffit de lire la doc :
http://pwet.fr/man/linux/fonctions_b...s/ncurses/beep
Il faut ncurses, c'est tout.
-lncurses
Par contre, c'est rustique. Il n'y a pas de paramètres (AMA, pas mieux que putchar('\a')). Il doit exister une autre fonction piloter le son.
Alors je viens de tomber sur ce lien :
http://www.developpez.net/forums/d67...ne-sous-linux/
Donc je crois qu il faut que je poste ma question sur beep() dans le forum Linux, est ce bien cela Emmanuel ?
Shaz
Euh excuse moi Emmanuel, je viens de faire le #include <curses.h>, mais je ne sais pas ou mettre -lncurses.
J ai de la chance tu me reponds
Merci pour ton aide.
Partager