Winmm

cs_epson1 Messages postés 89 Date d'inscription dimanche 12 novembre 2000 Statut Membre Dernière intervention 29 mars 2013 - 22 avril 2007 à 03:29
cs_epson1 Messages postés 89 Date d'inscription dimanche 12 novembre 2000 Statut Membre Dernière intervention 29 mars 2013 - 23 avril 2007 à 15:38
Bonjour à tous,
j'envoie un tableau de byte dans un buffer Winmm et je fais lire le son.
ça marche mais j'aimerais connaitre le moyen de savoir quand la carte son à fini la lecture.
Par ex : Fin du son dans les hp => label1.backcolor = vbred .
J'ai essayé avec la constante WHDR_DONE , mais ça marche pas.
Le flag passe à 18 aussitôt la lecture commencée et le son sort toujours ...
Quelqu'un peut-il m'aider ?
Merci d'avance et bonne prog à tous .

2 réponses

cs_Willi Messages postés 2375 Date d'inscription jeudi 12 juillet 2001 Statut Modérateur Dernière intervention 15 décembre 2018 22
22 avril 2007 à 12:12
Bonjour,
Comment lis-tu ton fichier son ? Avec quel API ? Donnes-nous ton code stp.
0
cs_epson1 Messages postés 89 Date d'inscription dimanche 12 novembre 2000 Statut Membre Dernière intervention 29 mars 2013
23 avril 2007 à 15:38
Salut Willi ,
Merci de ta réponse si rapide ,mais à force de me creuser, j'ai fini par trouver .
En fait, j'ai fait ça :
For i = 0 To MWinMM.NUM_BUFFERS - 1        If MWinMM.outHdr(i).dwFlags 3 Or MWinMM.outHdr(i).dwFlags 4099 Then
               MWinMM.CopyPtrFromStruct MWinMM.outHdr(i).lpData, BuffTemp, MWinMM.outHdr(i).dwBufferLength
        
        Result = MWinMM.waveOutWrite(MWinMM.hWaveOut, MWinMM.outHdr(i), Len(MWinMM.outHdr(i)))
   
    End If
J'ai trouvé que le flag passe à 3 quand le dernier buffer à été lu .

Voila, désolé pour le dérengement et encore merci .

@+
0
Rejoignez-nous