OVH Cloud OVH Cloud

Faire jouer un fichier WAV

23 réponses
Avatar
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

10 réponses

1 2 3
Avatar
Achim Bombota
Le 25/02/2014 12:12, Olivier Miakinen a écrit :

Salut Olivier

Maintenant je dois voir si cette fonction est bien appelée, ou
bien si c'est avant que ça coince.



ta question était adaptée à fr.comp.os.ms-windows.programmation

(ah mince il est vide, je sais je poste en tant que Frd là-bas)

Un grand merci en tout cas.



j'ai un bout de code qui joue des WAV sur tous les windows, mais c'est
une pure usine à gaz et je dois le faire évoluer pour jouer des formats
plus actuels...
si tu veux plus d'infos mon reply-to est toujours valide.
--
Envoyé depuis ma Gameboy
Avatar
Olivier Miakinen
Bonjour à tous,

Le 25/02/2014 12:12, j'écrivais :

sndPlaySound function
http://msdn.microsoft.com/en-us/library/windows/desktop/dd798676(v=vs.85).aspx



Bingo !

[...]

Maintenant je dois voir si cette fonction est bien appelée, ou
bien si c'est avant que ça coince.



J'attendais d'avoir plus d'infos avant de vous dire ce qu'il en est,
mais malheureusement je suis toujours dans le brouillard. Je ne sais
toujours pas avec certitude si cette fonction est appelée. Dans le
cas où elle le serait, il me semble pouvoir éliminer quand même l'idée
d'un codec absent. On est en train de se demander si ce ne serait pas
un problème de droits d'accès au fichier (ce n'est pas l'utilisateur
qui lance le programme, il est lancé comme un « service »).

Quoi qu'il en soit, après trois jours je vais quand même répondre
aux messages en attente, en vous présentant mes excuses pour mon
silence.
Avatar
Olivier Miakinen
Le 25/02/2014 12:47, Fred a écrit :

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.




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.



Merci pour la suggestion, même si ça me semble un peu plus risqué
que de tenter de faire fonctionner le PlaySound existant. Appeler
un programme externe nous rend tributaire de la présence de ce
programme.

Quoi qu'il en soit je garde l'idée en mémoire.

Cordialement,
--
Olivier Miakinen
Avatar
Olivier Miakinen
Le 25/02/2014 12:03, Jacquouille la Fripouille a écrit :

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.



On a essayé avec Windows Media Player, et celui-ci n'a aucun problème
pour lire les .wav en question. Alors si c'est un problème de codec,
WMP a les codecs que PlaySound n'aurait pas. Cela dit, je n'y crois
plus (cf. ma réponse suivante).
Avatar
Olivier Miakinen
Le 25/02/2014 18:41, Ascadix a écrit :

(Un problème de codec ?)



Plus probable, ou alors un fichier avec extension .WAV, mais qui n'est
pas un vrai .WAV

Depuis Win7, je les écoute avec VLC Player.



Tu peux regarder dans dans ses infos de flux si c'ets un vrai WAV et
quel codec il utilise.



Cherchant sur le web en parallèle, j'ai vu quelqu'un disant qu'après
de nombreux essais il en était venu à la conclusion que PlaySound sur
Windows Sept ne savait plus lire que des .wav contenant de l'ADPCM.

On a alors tenté une conversion dans ce format, et le résultat est le
même. C'est pour cela que je pense que le problème est ailleurs.
Avatar
Olivier Miakinen
Le 25/02/2014 21:52, Achim Bombota m'a répondu :

Maintenant je dois voir si cette fonction est bien appelée, ou
bien si c'est avant que ça coince.



ta question était adaptée à fr.comp.os.ms-windows.programmation



Oups ! Désolé, j'ignorais jusqu'à l'existence de ce groupe. Alors que si
j'avais eu la présence d'esprit d'y aller et de lire la FAQ j'y aurais
trouvé ceci :

<cit. FAQ fr.comp.os.ms-windows.programmation>
[2] Multimédia : son, vidéo, lecteur de CD
* Lire un son : sndPlaySound
</cit.>

;-)

(ah mince il est vide, je sais je poste en tant que Frd là-bas)



Pas si vide que ça... il y a des Conseils d'utilisation et une FAQ !
Mais qu'est-ce qu'un Frd ?

j'ai un bout de code qui joue des WAV sur tous les windows, mais c'est
une pure usine à gaz et je dois le faire évoluer pour jouer des formats
plus actuels...
si tu veux plus d'infos mon reply-to est toujours valide.



Merci de la proposition, mais si je devais retoucher ce code qui me
semble lui-même déjà une usine à gaz, j'essaierais plutôt de le
simplifier que de le compliquer... Enfin, je garde ta proposition
en mémoire malgré tout, en te remerciant.

--
Olivier Miakinen
Avatar
Achim Bombota
Le 28/02/2014 01:01, Olivier Miakinen a écrit :
Le 25/02/2014 21:52, Achim Bombota m'a répondu :

Maintenant je dois voir si cette fonction est bien appelée, ou
bien si c'est avant que ça coince.



ta question était adaptée à fr.comp.os.ms-windows.programmation



Oups ! Désolé, j'ignorais jusqu'à l'existence de ce groupe. Alors que si
j'avais eu la présence d'esprit d'y aller et de lire la FAQ j'y aurais
trouvé ceci :

<cit. FAQ fr.comp.os.ms-windows.programmation>
[2] Multimédia : son, vidéo, lecteur de CD
* Lire un son : sndPlaySound
</cit.>

;-)



C'est un désert ce groupe. Plus d'un mois sans message.

(ah mince il est vide, je sais je poste en tant que Frd là-bas)



Pas si vide que ça... il y a des Conseils d'utilisation et une FAQ !
Mais qu'est-ce qu'un Frd ?



Si un Frd te répond là-bas, ce sera moi ! :)


j'ai un bout de code qui joue des WAV sur tous les windows, mais c'est
une pure usine à gaz et je dois le faire évoluer pour jouer des formats
plus actuels...
si tu veux plus d'infos mon reply-to est toujours valide.



Merci de la proposition, mais si je devais retoucher ce code qui me
semble lui-même déjà une usine à gaz, j'essaierais plutôt de le
simplifier que de le compliquer... Enfin, je garde ta proposition
en mémoire malgré tout, en te remerciant.



C'est aussi mon but : simplifier cette portion du programme que je
maintiens.
Si tu trouves une piste...

--
Envoyé depuis ma Gameboy
Avatar
DuboisP
Le Mon, 03 Mar 2014 21:29:06 +0100, Achim Bombota
a écrit:

Le 28/02/2014 01:01, Olivier Miakinen a écrit :
Le 25/02/2014 21:52, Achim Bombota m'a répondu :

Maintenant je dois voir si cette fonction est bien appelée, ou
bien si c'est avant que ça coince.



ta question était adaptée à fr.comp.os.ms-windows.programmation



Oups ! Désolé, j'ignorais jusqu'à l'existence de ce groupe. Alors que si
j'avais eu la présence d'esprit d'y aller et de lire la FAQ j'y aurais
trouvé ceci :

<cit. FAQ fr.comp.os.ms-windows.programmation>
[2] Multimédia : son, vidéo, lecteur de CD
* Lire un son : sndPlaySound
</cit.>

;-)



C'est un désert ce groupe. Plus d'un mois sans message.

(ah mince il est vide, je sais je poste en tant que Frd là-bas)



Pas si vide que ça... il y a des Conseils d'utilisation et une FAQ !
Mais qu'est-ce qu'un Frd ?



Si un Frd te répond là-bas, ce sera moi ! :)


j'ai un bout de code qui joue des WAV sur tous les windows, mais c'est
une pure usine à gaz et je dois le faire évoluer pour jouer des formats
plus actuels...
si tu veux plus d'infos mon reply-to est toujours valide.



Merci de la proposition, mais si je devais retoucher ce code qui me
semble lui-même déjà une usine à gaz, j'essaierais plutôt de le
simplifier que de le compliquer... Enfin, je garde ta proposition
en mémoire malgré tout, en te remerciant.



C'est aussi mon but : simplifier cette portion du programme que je
maintiens.
Si tu trouves une piste...




et si vous le diffusiez, ce bout de code ?

je crois me rappeler qu'il existe une fonction Windows qui fait, en gros :

objet_que_je_t'envoie.fais_moi_l'action_par_défaut

si je retrouve le nom et l'exemple de code qui va bien...


--
Utilisant le logiciel de courrier d'Opera : http://www.opera.com/mail/
Avatar
Frd
Le 03/03/2014 22:57, DuboisP a écrit :
C'est aussi mon but : simplifier cette portion du programme que je
maintiens.
Si tu trouves une piste...




et si vous le diffusiez, ce bout de code ?

je crois me rappeler qu'il existe une fonction Windows qui fait, en gros :

objet_que_je_t'envoie.fais_moi_l'action_par_défaut

si je retrouve le nom et l'exemple de code qui va bien...




Salut,

le truc n'est pas un simple bout de code, mais un tas de classes qui
datent du siècle dernier. Si tu veux compiler ça avec Visual 2013 t'as
environ 42000 warnings et erreurs !
Avec Visual 2008 ça passe :)

--
Fred
Avatar
DuboisP
Le Wed, 05 Mar 2014 17:32:02 +0100, Frd a écrit:

Le 03/03/2014 22:57, DuboisP a écrit :
C'est aussi mon but : simplifier cette portion du programme que je
maintiens.
Si tu trouves une piste...




et si vous le diffusiez, ce bout de code ?

je crois me rappeler qu'il existe une fonction Windows qui fait, en
gros :

objet_que_je_t'envoie.fais_moi_l'action_par_défaut

si je retrouve le nom et l'exemple de code qui va bien...




Salut,

le truc n'est pas un simple bout de code, mais un tas de classes qui
datent du siècle dernier. Si tu veux compiler ça avec Visual 2013 t'as
environ 42000 warnings et erreurs !
Avec Visual 2008 ça passe :)




pas très surpris
j'avais un applicatif en Delphi, fait avec amour à la main

sont en train de réécrire à grand coups de Visual Studio, procédures
stockées SQL, triggers, classes, data access, framework, et tutti quanti

ah, quand je regarde le code, c'est court et propre, mais pour savoir où
ça merde...

sont en train de rajouter des trucs que j'avais fait en VB3/VB4 il y a 15
ans :-)

je suis plié de rire.

--
Utilisant le logiciel de courrier d'Opera : http://www.opera.com/mail/
1 2 3