Impossible de faire biper mon ordinateur

Fermé
bip-bip - Modifié par bip-bip le 19/08/2014 à 19:20
[Dal] Messages postés 6194 Date d'inscription mercredi 15 septembre 2004 Statut Contributeur Dernière intervention 11 octobre 2024 - 21 août 2014 à 14:43
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 3645 Date d'inscription dimanche 18 mars 2001 Statut Modérateur Dernière intervention 15 janvier 2017 934
19 août 2014 à 23:32
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
merci à vous deux.
Je vais me pencher sur le code Jonath, ça n'a pas l'air simple :)
0
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 6194 Date d'inscription mercredi 15 septembre 2004 Statut Contributeur Dernière intervention 11 octobre 2024 1 092
Modifié par [Dal] le 20/08/2014 à 16:23
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
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 6194 Date d'inscription mercredi 15 septembre 2004 Statut Contributeur Dernière intervention 11 octobre 2024 1 092
20 août 2014 à 19:15
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 230 Date d'inscription jeudi 17 juillet 2014 Statut Membre Dernière intervention 26 septembre 2014 36
20 août 2014 à 14:24
Est-ce que ton ordinateur peut bip au moins? Vérifie si il y a un bippeur branché sur la carte mère.
1
Oui j'ai testé, il bip une fois lors de l'allumage (pour signifier que tout va bien)
0
Utilisateur anonyme
19 août 2014 à 19:26
0
c'est pour Python...
0
fiddy Messages postés 11069 Date d'inscription samedi 5 mai 2007 Statut Contributeur Dernière intervention 23 avril 2022 1 841
19 août 2014 à 21:57
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 36402 Date d'inscription dimanche 7 novembre 2010 Statut Contributeur Dernière intervention 27 janvier 2021 6 418
21 août 2014 à 14:31
Salut,

Essaye un simple
tput bel
;-)
-1