Alarme sonores invisible [Résolu]

Messages postés
8
Date d'inscription
lundi 13 mars 2006
Dernière intervention
21 juin 2007
- - Dernière réponse : jekkdev
Messages postés
8
Date d'inscription
lundi 13 mars 2006
Dernière intervention
21 juin 2007
- 29 juin 2006 à 11:50
Bonjour,
Je dois créer une script qui se lance après une évenement déclencheur et fait sonner une alarme sonore (en gros lancer un .wav). Cependant il faut que cela se fasse de manière totalement transparente.
Je n'ai jammais dévlopper en vbs alors pour l'instant j'ai un bete fichier.cmd qui contient : C:\Son\AlarmeSonore.wav
Le problème c'est qu'une fenetre dos s'ouvre et que le son est jouer avec le player par défaut.
La seule piste que j'ai c'est un bout de code vbs  qui lancerait  un script bat/cmd en mode slencieux.
    Set wsc = CreateObject("WScript.Shell")
    wsc.Run "C:\alarme\alarme sonore.cmd", vb hide

Avez vous des idées? des conseils? savez vous comment jouer un son sans player? ou avec un player invisible?
Je me rends compte que j'aurais peut etre du poster dans une partie scipt shell mais comme a priori il y aura du vbs et du bat/cmd (que je maitrise mieux) j'ai poster ici par défaut.
Afficher la suite 

Votre réponse

5 réponses

Meilleure réponse
Messages postés
3982
Date d'inscription
mardi 8 mars 2005
Dernière intervention
7 novembre 2014
3
Merci
Vala un vbs.


C'est chiant le vbs: pas de typage, pas d'API facilement...
strWavFile = "C:\Son\AlarmeSonore.wav"
Set objShell = CreateObject("WScript.Shell")
objShell.Run "Sndrec32 /play /close """ & strWavFile & """", 0, False


Désolé, peut pas tester, j'ai pas de haut parleur ici...


Première ligne, tu récupère le nom du fichier.

Deuxième, tu appelles un objet à tout faire.

Troisième, tu appel la méthode run de l'objet à tout faire.


Elle prend trois arguments, le premier la ligne de commande, le
deuxième un flag pour la façon dont est affiché la fenêtre (0 =
SW_HIDE, c'est celui qui t'intéresse), le troisième un booléen qui dit
"Attendre la fin du prog pour lancer la commande vbs suivante ?"

Merci cs_rt15 3

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

Codes Sources a aidé 104 internautes ce mois-ci

Commenter la réponse de cs_rt15
Messages postés
3982
Date d'inscription
mardi 8 mars 2005
Dernière intervention
7 novembre 2014
0
Merci
Bonjour,


Les sources pour jouer des wave semble pululer sur vbfrance -> Un petit rechercher t'aurais pas mal aider...


J'éspère que celui est compatible VBS...


C'est un simple appel d'API, tu as le choix des flags.


Pour le côté silencieux, ill faudrait que tu précise l'"évenement déclencheur" et sous quel langage il a lieu.

Public
Declare
Function
sndPlaySound Lib <var>"winmm.dll"</var> Alias <var>"sndPlaySoundA"</var> (ByVal lpszSoundName As
String
, ByVal uFlags As Long) As Long


Private Const SND_ASYNC = &H1         '  play asynchronously

Private Const SND_LOOP = &H8         '  loop the sound until next sndPlaySound

Private Const SND_MEMORY = &H4         '  lpszSoundName points to a memory file

Private Const SND_NODEFAULT =
&H2         '  silence
not default, if sound not found

Private Const SND_NOSTOP = &H10        '  don't stop any currently playing sound

Private Const SND_SYNC = &H0         '  play synchronously (default)


 
sndPlaySound "C:\Son\AlarmeSonore.wav", SND_ASYNC
Commenter la réponse de cs_rt15
Messages postés
8
Date d'inscription
lundi 13 mars 2006
Dernière intervention
21 juin 2007
0
Merci
Je te remerci pour la réponse^^
Mon problème n'est pas tant de jouer un wav mais de le faire de manière invisible a la manière dont Windows joue ses sons (erreur critiques, musique de démarage etc...) sans player apparent.
L'élément déclencheur c'est une alerte généré par le logiciel de supervision de serveur : Microsoft Opération Manager. Quand il detecte un problème on a le choix d'effectuer des actions par exemple enoyer un mail d'alerte ou executer un script. Au final je souhaite que l'orsqu'un serveur à un problème j'envois un mail et déclenche un scipt qui émet un "bip d'alarme" aux postes concernés.
En réponse au alertes je peut soit exécuter une commande dos qui appel un batch soit appelé un script vbs. Voila j'espere que j'ai été assez clair sinon n'hésite pas a me demander des précision.
merci d'avance
Commenter la réponse de jekkdev
Messages postés
8
Date d'inscription
lundi 13 mars 2006
Dernière intervention
21 juin 2007
0
Merci
Et bien je confirme ca marche au poil !!!
je te remercie pour ton aide et l'explication qui va avec.
Je sais que d'habitude il y a des system de résolution de problème via un bouton genre "problème résolu" mais la je vois rien donc je suppose que c'est les admin/modo qui s'en charge mais si il y a autre chose a faire dis le moi.
Commenter la réponse de jekkdev
Messages postés
8
Date d'inscription
lundi 13 mars 2006
Dernière intervention
21 juin 2007
0
Merci
J'ai trouvé c'est bon.^^
Commenter la réponse de jekkdev

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.