MesssageBeep ou beep pas de son sur PC? [Résolu]

Messages postés
41
Date d'inscription
vendredi 20 juin 2003
Dernière intervention
11 septembre 2010
- 3 févr. 2007 à 12:47 - Dernière réponse :
Messages postés
41
Date d'inscription
vendredi 20 juin 2003
Dernière intervention
11 septembre 2010
- 16 avril 2007 à 15:26
    Bonjours à tous!

J'ai une petite question qui me trotte depuis un petit moment:

Avec Delphi sur mon PC fixe, les fonctions Beep ou MessageBeep, ne sont pas audibles !

Je précise que j'ai testé les sons systémes de Xp par le système lui-même, et que les sons sont présents et fonctionnent bien.

De même, si, je déplace l'application test sur un pc Portable, j'entends bien les sons?

De quoi cela peut bien venir?

C'est apparement, toute les applications compilées sous Delphi sur la machine fixe..

Même après avoir ré installé Xp et Dephi c'est toujours pareil... (Delphi 5)

Est ce que quelqu'un aurait le même symptôme, voir une solution à me proposer pour ré-entendre

les doux sons systèmes de XP...

Le pire de tout, c'est que les sons systèmes sont bien audibles par la fonction MessageBox !

Merci de votre aide.
Afficher la suite 

Votre réponse

8 réponses

Meilleure réponse
Messages postés
41
Date d'inscription
vendredi 20 juin 2003
Dernière intervention
11 septembre 2010
- 16 avril 2007 à 15:26
3
Merci
Bonjours à tous !
J'ai règlé mon pb tout seul en cherchant un peu dans la base de registre..
Il y a une clef :  HCU/Control Panel/Sound/Beep  valeur: 'no'
il faut la mettre à 'yes'.
C'était vraiment pas grand chose comme d'habitude, mais encore faut-il avoir l'information..

Donc,  j'en fait profiter ceux qui ont le même problème.

Merci botelec 3

Avec quelques mots c'est encore mieux Ajouter un commentaire

Codes Sources a aidé 88 internautes ce mois-ci

Commenter la réponse de botelec
Messages postés
41
Date d'inscription
vendredi 20 juin 2003
Dernière intervention
11 septembre 2010
- 3 févr. 2007 à 12:51
0
Merci
Idem sous Delphi 7..
Commenter la réponse de botelec
Messages postés
1270
Date d'inscription
samedi 14 août 2004
Dernière intervention
5 avril 2012
- 3 févr. 2007 à 15:07
0
Merci
Bonjour

La procédure Beep est défini en 2 endroits, unité SysUtils et unité Windows. Par défaut, Delphi doit employer celle de SysUtils qui appelle à son tour MessageBeep. Donc il est normal que si Beep ne fonctionne pas, MessageBeep non plus.

Quelques idées :
  - Est ce que tu entends un son en appelant Windows.Beep(440,1000) 
  - As tu vérifier dans le panneau de configuration>Sons et Périphériques audio>Paramètres avancés>que le paramètre "son" n'est pas sur muet. (Si il n'est pas présent, dans la fenêtre controle du volume>Menu Options>Propriétés>Lecture>Clic sur "Sons wave")

Cordialement.
<hr />"L'imagination est plus importante que le savoir." Albert Einstein
Commenter la réponse de WhiteHippo
Messages postés
41
Date d'inscription
vendredi 20 juin 2003
Dernière intervention
11 septembre 2010
- 3 févr. 2007 à 16:23
0
Merci
Merci WhiteHippo pour ta réponse.

Alors, la fonction Windows.Beep(440,1000) est Ok mais c'est le son du Haut-parleur du PC.

Pour l'histoire de la vérification dans le panneau de config, c'est fait aussi. (Puisque je précise que je l'ai testé.)

Vraiment, je vois pas trop pourquoi ca ne marche pas.

Je reprécise que, les mêmes son systèmes gérés par la fonction MessageBox, eux, sont audiblent

http://www.delphifr.com/auteurdetail.aspx?ID=323345
Commenter la réponse de botelec
Messages postés
1270
Date d'inscription
samedi 14 août 2004
Dernière intervention
5 avril 2012
- 3 févr. 2007 à 17:03
0
Merci
Pourquoi lee test du haut parleur PC ? Tout simplement parce que si le système d'exploitation n'arrive pas à jouer un son avec MessageBeep, il essaye dans un premier temps un son sytème par défaut et dans un second temps si celui là à échouer aussi, il utilise le haut parleur.
Donc, si tu n'entends rien, c'est que le système n'a pas été jusqu'à l'émission sur le haut parleur. Il aurait donc soit joué le son, soit rencontré un problème.

MessageBeep renvoit un booléen qui indique si tou c'est correctement passé. Est-il TRUE où FALSE ? Si il est à FALSE il faut utiliser GetLastError qui te donnera la raison de son échec.

Cordialement.
<hr />"L'imagination est plus importante que le savoir." Albert Einstein
Commenter la réponse de WhiteHippo
Messages postés
4229
Date d'inscription
vendredi 23 juillet 2004
Dernière intervention
3 août 2018
- 3 févr. 2007 à 17:52
0
Merci
Salut,

pour récuperer le message d'erreur
tu procèdes comme suit :

If Not MessageBeep(MB_ICONEXCLAMATION) Then
ShowMessage(SysErrorMessage(GetLastError));

ce qui devrait te donner la raison de l'échec
si échec il y a ... bien sûr
 
@+
Cirec

<hr size="2" />
Commenter la réponse de Cirec
Messages postés
41
Date d'inscription
vendredi 20 juin 2003
Dernière intervention
11 septembre 2010
- 3 févr. 2007 à 18:20
0
Merci
Ok, merci les gars,

Bien que ne connaissant pas Windows.Beep sous cette forme,

cette fonction me donne au moins du son... C'est toujours çà..Merci.

Mais j'avais bien testé en déboguage si la fonction MessageBeep ne rétournais pas d'erreurs,

mais, il n'y avait pas de soucis avec le résultat (True) .

Juste pas de son !

Donc, toujours pas de réponse..

Merci encore.
Commenter la réponse de botelec
Messages postés
41
Date d'inscription
vendredi 20 juin 2003
Dernière intervention
11 septembre 2010
- 5 févr. 2007 à 14:09
0
Merci
Bonjours !


Ne trouvant toujours pas de réponses à mon problème,

je me permet de vous demander si quelqu'un d'autre

à le même soucis


Merci.
Commenter la réponse de botelec

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.