Je dispose d'une fonction sous Visual Basic permettant de faire jouer un
son à Windows en utilisant la librairie Winmm.dll. J'aimerais en faire
autant avec Windev mais je n'arrive pas à traduire ma fonction.
Voici la fonction sous VB :
==============================================
Private Const SND_FILENAME = &H20000
Private Const SND_LOOP = &H8
Private Const SND_ASYNC = &H1
Private Const SND_NODEFAULT = &H2
Private Declare Function PlaySound Lib "winmm.dll" Alias "PlaySoundA"
(lpszName As Any, ByVal hModule As Long, ByVal dwFlags As Long) As Boolean
==============================================
Et voici l'appel de cette fonction sous VB :
==============================================
PlaySound(ByVal "ring.wav", 0&, SND_ASYNC Or SND_FILENAME Or SND_LOOP Or
SND_NODEFAULT)
==============================================
Je souhaite conserver les constantes en paramètres pour me permettre de
faire lire le son sans bloquer l'execution de mon code et en boucle.
Il y a-t'il une raison pour ne pas utiliser la fonction suivante:
Son("ring.wav", sonBoucle)
Eric.
-- Eric Laurent
(enlever nospam.)
Pascal ROY
Constant SND_FILENAME est un entier = 0x20000 SND_LOOP est un entier = 0x8 SND_ASYNC est un entier = 0x1 SND_NODEFAULT est un entier = 0x2
Local czFile est une chaine asciiz sur 255
czFile = "ring.wav" //Attention au chemin ! AppelDLL32( "wimm.dll", "PlaySound", &czFile, 0, SND_ASYNC OU SND_FILENAME OU SND_LOOP ou SND_NODEFAULT)
Je pense que ça devrait ressembler à ça !
Mais pourquoi ne pas utiliser les fonctions de Windev ? -- Pascal ROY (Service Informatique - SODALEC)
Dvlpt.Steganux a écrit :
Bonjour,
Je dispose d'une fonction sous Visual Basic permettant de faire jouer un son à Windows en utilisant la librairie Winmm.dll. J'aimerais en faire autant avec Windev mais je n'arrive pas à traduire ma fonction.
Voici la fonction sous VB : ============================================= > Private Const SND_FILENAME = &H20000 Private Const SND_LOOP = &H8 Private Const SND_ASYNC = &H1 Private Const SND_NODEFAULT = &H2
Private Declare Function PlaySound Lib "winmm.dll" Alias "PlaySoundA" (lpszName As Any, ByVal hModule As Long, ByVal dwFlags As Long) As Boolean ============================================= >
Et voici l'appel de cette fonction sous VB : ============================================= > PlaySound(ByVal "ring.wav", 0&, SND_ASYNC Or SND_FILENAME Or SND_LOOP Or SND_NODEFAULT) ============================================= >
Je souhaite conserver les constantes en paramètres pour me permettre de faire lire le son sans bloquer l'execution de mon code et en boucle.
Merci pour vos contributions
Cordialement
Fabien, Steganux
Constant
SND_FILENAME est un entier = 0x20000
SND_LOOP est un entier = 0x8
SND_ASYNC est un entier = 0x1
SND_NODEFAULT est un entier = 0x2
Local
czFile est une chaine asciiz sur 255
czFile = "ring.wav" //Attention au chemin !
AppelDLL32( "wimm.dll", "PlaySound", &czFile, 0, SND_ASYNC OU SND_FILENAME OU
SND_LOOP ou SND_NODEFAULT)
Je pense que ça devrait ressembler à ça !
Mais pourquoi ne pas utiliser les fonctions de Windev ?
--
Pascal ROY
(Service Informatique - SODALEC)
Dvlpt.Steganux a écrit :
Bonjour,
Je dispose d'une fonction sous Visual Basic permettant de faire jouer un
son à Windows en utilisant la librairie Winmm.dll. J'aimerais en faire
autant avec Windev mais je n'arrive pas à traduire ma fonction.
Voici la fonction sous VB :
============================================= > Private Const SND_FILENAME = &H20000
Private Const SND_LOOP = &H8
Private Const SND_ASYNC = &H1
Private Const SND_NODEFAULT = &H2
Private Declare Function PlaySound Lib "winmm.dll" Alias "PlaySoundA"
(lpszName As Any, ByVal hModule As Long, ByVal dwFlags As Long) As Boolean
============================================= >
Et voici l'appel de cette fonction sous VB :
============================================= > PlaySound(ByVal "ring.wav", 0&, SND_ASYNC Or SND_FILENAME Or SND_LOOP Or
SND_NODEFAULT)
============================================= >
Je souhaite conserver les constantes en paramètres pour me permettre de
faire lire le son sans bloquer l'execution de mon code et en boucle.
Constant SND_FILENAME est un entier = 0x20000 SND_LOOP est un entier = 0x8 SND_ASYNC est un entier = 0x1 SND_NODEFAULT est un entier = 0x2
Local czFile est une chaine asciiz sur 255
czFile = "ring.wav" //Attention au chemin ! AppelDLL32( "wimm.dll", "PlaySound", &czFile, 0, SND_ASYNC OU SND_FILENAME OU SND_LOOP ou SND_NODEFAULT)
Je pense que ça devrait ressembler à ça !
Mais pourquoi ne pas utiliser les fonctions de Windev ? -- Pascal ROY (Service Informatique - SODALEC)
Dvlpt.Steganux a écrit :
Bonjour,
Je dispose d'une fonction sous Visual Basic permettant de faire jouer un son à Windows en utilisant la librairie Winmm.dll. J'aimerais en faire autant avec Windev mais je n'arrive pas à traduire ma fonction.
Voici la fonction sous VB : ============================================= > Private Const SND_FILENAME = &H20000 Private Const SND_LOOP = &H8 Private Const SND_ASYNC = &H1 Private Const SND_NODEFAULT = &H2
Private Declare Function PlaySound Lib "winmm.dll" Alias "PlaySoundA" (lpszName As Any, ByVal hModule As Long, ByVal dwFlags As Long) As Boolean ============================================= >
Et voici l'appel de cette fonction sous VB : ============================================= > PlaySound(ByVal "ring.wav", 0&, SND_ASYNC Or SND_FILENAME Or SND_LOOP Or SND_NODEFAULT) ============================================= >
Je souhaite conserver les constantes en paramètres pour me permettre de faire lire le son sans bloquer l'execution de mon code et en boucle.
Merci pour vos contributions
Cordialement
Fabien, Steganux
Dvlpt.Steganux
Eric Laurent a écrit :
Bonjour Fabien,
Il y a-t'il une raison pour ne pas utiliser la fonction suivante:
Son("ring.wav", sonBoucle)
Eric.
et bien oui, lorsque je fait un Son("ring.wav", sonBoucle), mon fichier wav n'est joué qu'une seule fois malgres le sonBoucle et en plus la lecture du son bloque l'éxécution du reste de mon code
Cordialement
Fabien
Eric Laurent a écrit :
Bonjour Fabien,
Il y a-t'il une raison pour ne pas utiliser la fonction suivante:
Son("ring.wav", sonBoucle)
Eric.
et bien oui, lorsque je fait un Son("ring.wav", sonBoucle), mon fichier
wav n'est joué qu'une seule fois malgres le sonBoucle et en plus la
lecture du son bloque l'éxécution du reste de mon code
Il y a-t'il une raison pour ne pas utiliser la fonction suivante:
Son("ring.wav", sonBoucle)
Eric.
et bien oui, lorsque je fait un Son("ring.wav", sonBoucle), mon fichier wav n'est joué qu'une seule fois malgres le sonBoucle et en plus la lecture du son bloque l'éxécution du reste de mon code
Cordialement
Fabien
Dvlpt.Steganux
Pascal ROY a écrit :
Constant SND_FILENAME est un entier = 0x20000 SND_LOOP est un entier = 0x8 SND_ASYNC est un entier = 0x1 SND_NODEFAULT est un entier = 0x2
Local czFile est une chaine asciiz sur 255
czFile = "ring.wav" //Attention au chemin ! AppelDLL32( "wimm.dll", "PlaySound", &czFile, 0, SND_ASYNC OU SND_FILENAME OU SND_LOOP ou SND_NODEFAULT)
Je pense que ça devrait ressembler à ça !
Mais pourquoi ne pas utiliser les fonctions de Windev ?
J'ai eu une réponse sir le forum officiel Pcsoft, voici la solution :
SI PAS API("Winmm.dll", "PlaySound", "ring.wav", Null, SND_ASYNC + SND_FILENAME + SND_LOOP + SND_NODEFAULT) ALORS Erreur(ErreurInfo()) FIN
Tu en étais pas loin Pascal.
en tout cas merci pour vos contributions
Cordialement
Fabien
Romain PETIT
Pascal ROY a exposé le 26/03/2008 :
Constant SND_FILENAME est un entier = 0x20000 SND_LOOP est un entier = 0x8 SND_ASYNC est un entier = 0x1 SND_NODEFAULT est un entier = 0x2
Soit ce sont des constantes (à mettre dans le code d'ini), soit ce sont des variables, mais pas les 2...
SND_FILENAME est un entier = 0x20000 SND_LOOP est un entier = 0x8 SND_ASYNC est un entier = 0x1 SND_NODEFAULT est un entier = 0x2
AppelDLL32( "wimm.dll", "PlaySound", &czFile, 0, SND_ASYNC OU SND_FILENAME OU SND_LOOP ou SND_NODEFAULT)
Le OR ne se traduit pas par OU en W-langage...
Il faut utiliser -soit OUBinaire(OUBinaire(OUBinaire(SND_ASYNC, SND_FILENAME),SND_LOOP),SND_NODEFAULT) - soit SND_ASYNC+SND_FILENAME+SND_LOOP+SND_NODEFAULT
A+
-- Romain PETIT http://cerbermail.com/?O16kfXOFcq (cliquez sur le lien ci-dessus pour me contacter en privé)
Pascal ROY a exposé le 26/03/2008 :
Constant
SND_FILENAME est un entier = 0x20000
SND_LOOP est un entier = 0x8
SND_ASYNC est un entier = 0x1
SND_NODEFAULT est un entier = 0x2
Soit ce sont des constantes (à mettre dans le code d'ini), soit ce sont
des variables, mais pas les 2...
SND_FILENAME est un entier = 0x20000
SND_LOOP est un entier = 0x8
SND_ASYNC est un entier = 0x1
SND_NODEFAULT est un entier = 0x2
AppelDLL32( "wimm.dll", "PlaySound", &czFile, 0, SND_ASYNC OU SND_FILENAME OU
SND_LOOP ou SND_NODEFAULT)
Le OR ne se traduit pas par OU en W-langage...
Il faut utiliser
-soit OUBinaire(OUBinaire(OUBinaire(SND_ASYNC,
SND_FILENAME),SND_LOOP),SND_NODEFAULT)
- soit SND_ASYNC+SND_FILENAME+SND_LOOP+SND_NODEFAULT
A+
--
Romain PETIT
http://cerbermail.com/?O16kfXOFcq
(cliquez sur le lien ci-dessus pour me contacter en privé)
Constant SND_FILENAME est un entier = 0x20000 SND_LOOP est un entier = 0x8 SND_ASYNC est un entier = 0x1 SND_NODEFAULT est un entier = 0x2
Soit ce sont des constantes (à mettre dans le code d'ini), soit ce sont des variables, mais pas les 2...
SND_FILENAME est un entier = 0x20000 SND_LOOP est un entier = 0x8 SND_ASYNC est un entier = 0x1 SND_NODEFAULT est un entier = 0x2
AppelDLL32( "wimm.dll", "PlaySound", &czFile, 0, SND_ASYNC OU SND_FILENAME OU SND_LOOP ou SND_NODEFAULT)
Le OR ne se traduit pas par OU en W-langage...
Il faut utiliser -soit OUBinaire(OUBinaire(OUBinaire(SND_ASYNC, SND_FILENAME),SND_LOOP),SND_NODEFAULT) - soit SND_ASYNC+SND_FILENAME+SND_LOOP+SND_NODEFAULT
A+
-- Romain PETIT http://cerbermail.com/?O16kfXOFcq (cliquez sur le lien ci-dessus pour me contacter en privé)
Pascal ROY
Romain PETIT a écrit :
Pascal ROY a exposé le 26/03/2008 :
Constant SND_FILENAME est un entier = 0x20000 SND_LOOP est un entier = 0x8 SND_ASYNC est un entier = 0x1 SND_NODEFAULT est un entier = 0x2
Soit ce sont des constantes (à mettre dans le code d'ini), soit ce sont des variables, mais pas les 2...
SND_FILENAME est un entier = 0x20000 SND_LOOP est un entier = 0x8 SND_ASYNC est un entier = 0x1 SND_NODEFAULT est un entier = 0x2
AppelDLL32( "wimm.dll", "PlaySound", &czFile, 0, SND_ASYNC OU SND_FILENAME OU SND_LOOP ou SND_NODEFAULT)
Le OR ne se traduit pas par OU en W-langage...
Il faut utiliser -soit OUBinaire(OUBinaire(OUBinaire(SND_ASYNC, SND_FILENAME),SND_LOOP),SND_NODEFAULT) - soit SND_ASYNC+SND_FILENAME+SND_LOOP+SND_NODEFAULT
A+
Le Pire c'est que je le savais! :-(
-- Pascal ROY (Service Informatique - SODALEC)
Romain PETIT a écrit :
Pascal ROY a exposé le 26/03/2008 :
Constant
SND_FILENAME est un entier = 0x20000
SND_LOOP est un entier = 0x8
SND_ASYNC est un entier = 0x1
SND_NODEFAULT est un entier = 0x2
Soit ce sont des constantes (à mettre dans le code d'ini), soit ce sont
des variables, mais pas les 2...
SND_FILENAME est un entier = 0x20000
SND_LOOP est un entier = 0x8
SND_ASYNC est un entier = 0x1
SND_NODEFAULT est un entier = 0x2
AppelDLL32( "wimm.dll", "PlaySound", &czFile, 0, SND_ASYNC OU
SND_FILENAME OU SND_LOOP ou SND_NODEFAULT)
Le OR ne se traduit pas par OU en W-langage...
Il faut utiliser
-soit OUBinaire(OUBinaire(OUBinaire(SND_ASYNC,
SND_FILENAME),SND_LOOP),SND_NODEFAULT)
- soit SND_ASYNC+SND_FILENAME+SND_LOOP+SND_NODEFAULT
Constant SND_FILENAME est un entier = 0x20000 SND_LOOP est un entier = 0x8 SND_ASYNC est un entier = 0x1 SND_NODEFAULT est un entier = 0x2
Soit ce sont des constantes (à mettre dans le code d'ini), soit ce sont des variables, mais pas les 2...
SND_FILENAME est un entier = 0x20000 SND_LOOP est un entier = 0x8 SND_ASYNC est un entier = 0x1 SND_NODEFAULT est un entier = 0x2
AppelDLL32( "wimm.dll", "PlaySound", &czFile, 0, SND_ASYNC OU SND_FILENAME OU SND_LOOP ou SND_NODEFAULT)
Le OR ne se traduit pas par OU en W-langage...
Il faut utiliser -soit OUBinaire(OUBinaire(OUBinaire(SND_ASYNC, SND_FILENAME),SND_LOOP),SND_NODEFAULT) - soit SND_ASYNC+SND_FILENAME+SND_LOOP+SND_NODEFAULT
A+
Le Pire c'est que je le savais! :-(
-- Pascal ROY (Service Informatique - SODALEC)
Romain PETIT
Pascal ROY a émis l'idée suivante :
Le Pire c'est que je le savais! :-(
Et moi je savais que tu savais :-)
A+
-- Romain PETIT http://cerbermail.com/?O16kfXOFcq (cliquez sur le lien ci-dessus pour me contacter en privé)
Pascal ROY a émis l'idée suivante :
Le Pire c'est que je le savais! :-(
Et moi je savais que tu savais :-)
A+
--
Romain PETIT
http://cerbermail.com/?O16kfXOFcq
(cliquez sur le lien ci-dessus pour me contacter en privé)