Faire jouer un fichier WAV
Le
Olivier Miakinen

Bonjour,
J'ai un programme Windows qui sert à gérer des alertes de
toutes sortes. Il peut par exemple envoyer des courriels ou
des SMS quand un incident survient. Il peut aussi faire
jouer un fichier WAV. Du moins, cela fonctionne sur Windows
XP, mais pas sur Windows 7.
J'ai le code source, mais pour le moment je n'ai pas réussi
à identifier où dans le code se faisait la gestion de ces
fichiers WAV. Je suppose qu'il doit y avoir un appel à une
fonction de Windows qui fonctionnait sur XP mais qui a été
désactivée sur Windows 7.
J'ai deux questions :
1) Avez-vous des exemples de code pouvant être utilisé sur
Windows XP pour faire entendre le contenu d'un fichier WAV ?
Avec un peu de chance, parmi les propositions que vous
pourriez me faire, il pourrait se trouver *la* méthode qui
a effectivement été utilisée, et ça me permettrait de la
localiser.
2) Quelle est la bonne façon de faire sur Windows Sept ?
Lorsque j'aurai localisé le code qui ne fonctionne plus,
j'aurai besoin d'un code qui fonctionne pour le mettre à
la place de l'autre.
Cordialement,
--
Olivier Miakinen
J'ai un programme Windows qui sert à gérer des alertes de
toutes sortes. Il peut par exemple envoyer des courriels ou
des SMS quand un incident survient. Il peut aussi faire
jouer un fichier WAV. Du moins, cela fonctionne sur Windows
XP, mais pas sur Windows 7.
J'ai le code source, mais pour le moment je n'ai pas réussi
à identifier où dans le code se faisait la gestion de ces
fichiers WAV. Je suppose qu'il doit y avoir un appel à une
fonction de Windows qui fonctionnait sur XP mais qui a été
désactivée sur Windows 7.
J'ai deux questions :
1) Avez-vous des exemples de code pouvant être utilisé sur
Windows XP pour faire entendre le contenu d'un fichier WAV ?
Avec un peu de chance, parmi les propositions que vous
pourriez me faire, il pourrait se trouver *la* méthode qui
a effectivement été utilisée, et ça me permettrait de la
localiser.
2) Quelle est la bonne façon de faire sur Windows Sept ?
Lorsque j'aurai localisé le code qui ne fonctionne plus,
j'aurai besoin d'un code qui fonctionne pour le mettre à
la place de l'autre.
Cordialement,
--
Olivier Miakinen
C'est quoi ce programme ?
--
Français *==> "Musique renaissance" <==* English
midi - facsimiles - ligatures - mensuration
http://anaigeon.free.fr | http://www.medieval.org/emfaq/anaigeon/
Alain Naigeon - - Oberhoffen/Moder, France
http://fr.youtube.com/user/AlainNaigeon
sndPlaySound function
http://msdn.microsoft.com/en-us/library/windows/desktop/dd798676(v=vs.85).aspx
sous Delphi, ça donne, par exemple
sFileWave référence l'emplacement d'un fichier .WAV, soit fourni par
Windows, soit enregistré, à partir d'entrées dans dun fichier .INI
[SOUND]
;son Windows
PeseeOK=ding.wav
;son enregistré
ErrorComm=errcomm.wav
ErrorCat=c:windowswavemeow.wav
ErrorDog=c:windowswavedog.wav
non testé sous Windows 7, nous n'utilisons plus ce programme.
ça devrait continuer à marcher, on est dans du basique Windows
(*************************************)
Function SoundAndErrorMessage;
(*************************************)
{ sFileWave : String; BeepType : Word; sMessage: String; aType:
TMsgDlgType; aButtons: TMsgDlgButtons; HelpCtx: Longint) }
Var szString : Array[ 0..254] Of Char;
Begin
If Not IsEmptyString( sFileWave) And ( WaveOutGetNumDevs > 0) Then
Begin
StrPCopy( szString, sFileWave);
SndPlaySound( szString, SND_ASYNC);
End
Else
MessageBeep( BeepType);
If Not IsEmptyString( sMessage) Then
Result := MessageDlg( sMessage, aType, aButtons, HelpCtx)
Else
Result := 0;
End;
--
Utilisant le logiciel de courrier d'Opera : http://www.opera.com/mail/
Se méfier du "basique Windows" : Quand l'utilisation d'une fonction devient trop simple, Microsoft la rend obsolète au bout d'un
certain temps !
--
Serge http://leserged.online.fr/
Mon blog: http://cahierdesergio.free.fr/
Soutenez le libre: http://www.framasoft.org
Le 25/02/2014 01:13, Alain Naigeon m'a répondu :
Son nom ne te dirait rien. Au cas où ce serait le sens de
ta question, tu ne le trouveras pas en vente à la Fnac ni
sur Internet.
Cela dit, si tu veux en savoir plus, tu peux me contacter
en privé (mon adresse est valide). Je ne positionne pas le
suivi vers « poster » car je crois que ton logiciel ne le
gère toujours pas correctement, même dans ses dernières
versions.
Cordialement,
--
Olivier Miakinen
legjvj$15h3$
....
Ta question est trop technique pour moi.
Je réponds ici à l'objet de ton post.
WMP11 ne sait pas lire les fichiers .wav (Un problème de codec ?)
Depuis Win7, je les écoute avec VLC Player.
--
Jacquouille la Fripouille
"Périgord, meitat chen meitat porc"
Bingo !
Plus exactement, j'ai trouvé un appel à la fonction un peu plus
complète PlaySound :
http://msdn.microsoft.com/en-us/library/windows/desktop/dd743680%28v=vs.85%29.aspx
D'après la doc, aussi bien sndPlaySound que PlaySound sont
supportés à partir de Windows 2000, sans numéro de version max.
Minimum supported client
Windows 2000 Professional [desktop apps only]
Minimum supported server
Windows 2000 Server [desktop apps only]
Maintenant je dois voir si cette fonction est bien appelée, ou
bien si c'est avant que ça coince.
Un grand merci en tout cas.
--
Olivier Miakinen
Salut
A défaut de fonction windows, tu peux utiliser mplayer,
qui marche en ligne de commande, avec 'exec' dans ton
code.
Par contre, il faut lancer 1 fois mplayer à vide pour
qu'il s'initialise.
D'accord, ce n'est pas grave - merci !
--
Français *==> "Musique renaissance" <==* English
midi - facsimiles - ligatures - mensuration
http://anaigeon.free.fr | http://www.medieval.org/emfaq/anaigeon/
Alain Naigeon - - Oberhoffen/Moder, France
http://fr.youtube.com/user/AlainNaigeon
Ben si ...
Plus probable, ou alors un fichier avec extension .WAV, mais qui n'est
pas un vrai .WAV
Tu peux regarder dans dans ses infos de flux si c'ets un vrai WAV et
quel codec il utilise.
--
@+
Ascadix
adresse @mail valide, mais ajoutez "sesame" dans l'objet pour que ça
arrive.
j'avais joué un peu avec, il y a longtemps.
une application d'enregistrements de poids sur une balance, lecteur de
code-barres, gestion d'erreur en sonore, ça limitait les aller-retour vers
l'écran
les utilisateurs mettaient dans les 1 à 1.5 sec pour manipuler,
identifier, peser.
avec la nouvelle version (pas par moi), ils mettent au minimum 10 sec !
en ces temps anciens, on consultait les utilisateurs pour leur proposer le
meilleur :-)
--
Utilisant le logiciel de courrier d'Opera : http://www.opera.com/mail/