Impossible de faire biper mon ordinateur

bip-bip -  
[Dal] Messages postés 6373 Statut Contributeur -
Bonjour,

Depuis relativement longtemps, j'essaye de faire biper mon ordinateur sans succès. J'ai essayé:

printf("\a");
printf("%c", 7);
Beep(440, 1000);
qui ne marche pas puisque je suis sous Linux

Je sais qu'il existe plein de page de forum dédiée à cette question mais ils terminent souvent par une des solutions citées plus haut. Auriez-vous quelque chose d'autres à me proposer?

D'avance, merci

A voir également:

5 réponses

jisisv Messages postés 3678 Statut Modérateur 934
 
Tu peux trouver des infos ici et hacker le code (sous GPL)
htttp://www.johnath.com/beep/

Fais un
git clone  git://github.com/johnath/beep.git
1
bip-bip
 
merci à vous deux.
Je vais me pencher sur le code Jonath, ça n'a pas l'air simple :)
0
bip-bip
 
Rectification: il utilise dans son code
printf("\a");

ce qui ne marche pas chez moi.
C'est peut-être un problème plus général de droit de faire biper l'ordinateur (les bips sont généralement là pour identifier un problème lorsqu'on allume un ordi [si c'est les même bips..]).
J'ai essayé sur plusieurs ordinateurs et même en tant que su sur un avec toujours le même résultat.
0
[Dal] Messages postés 6373 Statut Contributeur 1 106
 
non, le code de Johnathan Nightingale utilise evdev et l'événement
EV_SND
décrit là https://www.kernel.org/doc/Documentation/input/event-codes.txt

putchar('\a');
n'est utilisé que comme "fallback" si ioctl ou le write renvoient des erreurs :

voir :

https://github.com/johnath/beep/blob/master/beep.c#L294
https://github.com/johnath/beep/blob/master/beep.c#L100

voir aussi le README, qui comporte des avertissements sur les limites de fonctionnement de son programme en raison du fonctionnement de ioctl sous Linux si la commande n'est pas lancée par root ou à partir d'un vrai terminal localement ouvert sur la machine par l'utilisateur (et non ouvert à distance ou un terminal émulé sous X), et les moyens de contourner la difficulté.

https://github.com/johnath/beep/blob/master/README#L25


Dal
0
bip-bip
 
J'ai aussi essayé
putchar('\a');

qui ne marche pas non plus.
Je n'ai pas très bien compris le reste mais tu penses que si je le compile et éxecute, les bips marcheront??
0
[Dal] Messages postés 6373 Statut Contributeur 1 106
 
C'est bizarre que
putchar('\a');
ne donne rien. Exécutes-tu ton programme à partir d'une session X. Chez moi, sous Gnome, le son passe par la carte son et fait un "bong" sur un PC portable avec une carte son supportée.

S'agissant de beep, tu n'as pas vraiment besoin de le compiler si ta distribution Linux comprend un paquet pour cet utilitaire et si tout ce que tu veux c'est un programme à lancer qui fasse bip.

C'est le cas par exemple de Debian : https://packages.debian.org/fr/wheezy/beep (c'est le même utilitaire).

Quand à savoir si cela "marchera", je ne peux pas le deviner.

Cependant, tu devras lire attentivement le README ou la partie correspondante figurant dans la page de manuel (man beep) une fois que tu auras installé beep,

Debian installe l'utilitaire dans dans /usr/bin avec les permissions -rwsr-xr-x root audio ce qui permet à l'utilitaire de fonctionner comme il est sensé fonctionner dans un maximum de cas.

En tout cas, il marche pour moi.

En prime, tu peux faire de la musique avec :-)


Dal
0
Ravaltabav Messages postés 248 Statut Membre 36
 
Est-ce que ton ordinateur peut bip au moins? Vérifie si il y a un bippeur branché sur la carte mère.
1
bip-bip
 
Oui j'ai testé, il bip une fois lors de l'allumage (pour signifier que tout va bien)
0
Utilisateur anonyme
 
0
bip-bip
 
c'est pour Python...
0
fiddy Messages postés 11653 Statut Contributeur 1 847
 
Bonjour,

Rien de portable...
Sinon, pourquoi ne pas installer "beep" ?
Ensuite, tu l'appelles via "system()". Bon, c'est pas très propre, mais bon.
En plus, tu peux choisir la fréquence :
system("beep -f 1000"); (par exemple).

Cdlt,
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
zipe31 Messages postés 38797 Date d'inscription   Statut Contributeur Dernière intervention   6 434
 
Salut,

Essaye un simple
tput bel
;-)
-1