OVH Cloud OVH Cloud

WINMM :fichier ressource avec petit .wav

5 réponses
Avatar
free
je bataille avec ce sujet et je crois que je vais jeter l'éponge à moins que
qqu'un puisse m'envoyer un .res avec un petit .wav dedans , genre un son de
windows.
merci

5 réponses

Avatar
Jacques
free a écrit :
je bataille avec ce sujet et je crois que je vais jeter l'éponge à moins que
qqu'un puisse m'envoyer un .res avec un petit .wav dedans , genre un son de
windows.
merci





Peux tu préciser ton objectif, au départ j'ai compris que tu voulais
jouer un son à partir d'un buffer. L'exemple que j'ai transmis renseigne
le buffer à partir d'un fichier ressource, mais il est peut être
envsageable de procéder autrement, à partir d'un fichier, d'une dll etc...
toujours sous la réserve que VB5CCE le permette

--
Cordialement,

Jacques.
Avatar
François Picalausa
Hello,

Un fichier resources.rc contenant uniquement cette ligne:
MYSND WAVE D:WINDOWSmediading.wav

Peut être compilé par rc.exe par la commande suivante:
rc resources.rc

Le fichier res peut ensuite être ajouté au projet VB, par exemple par
drag&drop du fichier .res généré sur l'explorateur de projets de VB5CCE.

Dans un usercontrol de VB5CCE, ce code permttra de jouer la resources
stoquée:
Option Explicit

Private Const SND_ALIAS = &H10000
Private Const SND_ALIAS_ID = &H110000
Private Const SND_ALIAS_START = 0
Private Const SND_APPLICATION = &H80
Private Const SND_ASYNC = &H1
Private Const SND_FILENAME = &H20000
Private Const SND_LOOP = &H8
Private Const SND_MEMORY = &H4
Private Const SND_NODEFAULT = &H2
Private Const SND_NOSTOP = &H10
Private Const SND_NOWAIT = &H2000
Private Const SND_PURGE = &H40
Private Const SND_RESERVED = &HFF000000
Private Const SND_RESOURCE = &H40004
Private Const SND_SYNC = &H0
Private Const SND_TYPE_MASK = &H170007
Private Const SND_VALID = &H1F
Private Const SND_VALIDFLAGS = &H17201F

Private Declare Function PlaySound _
Lib "winmm.dll" _
Alias "PlaySoundA" _
( _
lpszName As Any, _
ByVal hModule As Long, _
ByVal dwFlags As Long _
) _
As Long

Public Sub Play()
On Error Goto NoSound
Dim SoundData() As Byte
SoundData = LoadResData("MYSND", "WAVE")
PlaySound SoundData(0), SND_NODEFAULT Or SND_MEMORY Or SND_ASYNC

NoSound:
End Sub

--
François Picalausa

"free" a écrit dans le message de news:
42480841$0$1428$
je bataille avec ce sujet et je crois que je vais jeter l'éponge à
moins que qqu'un puisse m'envoyer un .res avec un petit .wav dedans ,
genre un son de windows.
merci


Avatar
free
jacques ,
en fait j'ai essayé à partir d'un tableau , comme tu me le suggerais , mais
ca n'a pas marché. Peut-etre que je m'y suis mal pris , mais peut-etre aussi
qu'il y a une difference entre un tableau chargé par moi et le même tableau
chargé à partir d'une ressource. C'est pour ca que je souhaite un exemple.
francois , dans le message suivant m'a fourni un exemple de .rc minimum.
Comme j'ai trouve RC.EXE dans mon Visual C je vais approfondir.
a+
Avatar
free
ok Francois ,
j'ai créé la ressource , merci.
par contre pour le source j'ai un pb : dans la def de playsound il y a trois
parametres et dans l'appel , plus que deux. Le compilateur n'apprecie pas.
As-tu le meme souci ? ou comment dit-on que le deuxieme parametre est à
ignorer (// avec Delphi) ?
a+
Avatar
free
OK ca marche , merci à Jacques et à Francois.
je pense que je reviendrai souvent sur ce NG , y'a de la compétence !

pour ceux que ca interesse :
- il fallait rajouter un zero pour le deuxieme parametre
- SND_SYNC marche à tous les coups alors que SND_ASYNC ne marche
bien qe au pas à pas. Si quelqu'un a une docte explication ?

encore merci et a+