JOUER UN SON WAV AVEC DX SOUND 7

VBasic_MFC Messages postés 12 Date d'inscription dimanche 5 septembre 2004 Statut Membre Dernière intervention 31 juillet 2007 - 3 févr. 2006 à 03:08
cs_jeanmi45 Messages postés 27 Date d'inscription mercredi 31 mars 2004 Statut Membre Dernière intervention 6 avril 2010 - 5 déc. 2006 à 17:43
Cette discussion concerne un article du site. Pour la consulter dans son contexte d'origine, cliquez sur le lien ci-dessous.

https://codes-sources.commentcamarche.net/source/35867-jouer-un-son-wav-avec-dx-sound-7

cs_jeanmi45 Messages postés 27 Date d'inscription mercredi 31 mars 2004 Statut Membre Dernière intervention 6 avril 2010
5 déc. 2006 à 17:43
bravo code sympa et bien commenté...un grand merci !
VBasic_MFC Messages postés 12 Date d'inscription dimanche 5 septembre 2004 Statut Membre Dernière intervention 31 juillet 2007
8 févr. 2006 à 16:04
GOOD!! est bon travail !

mmmais!!!

Private Sub Form_Load()
initDsound Form1
LoadSound App.Path & "\OK2.wav", i 'i peut etre 1 -> 100 ok!
End Sub

mais le probléme ici ,si tu veux jouer le fichier OK2.wav 3 fois tu dois le recharger 3 fois dans le buffer :

LoadSound App.Path & "\OK2.wav", 1
LoadSound App.Path & "\OK2.wav", 2
LoadSound App.Path & "\OK2.wav", 3
..
..
..

'dans le module
Set DsBuffer(1) = Ds.CreateSoundBufferFromFile(Fichier, DsDesc, DsWave)
Set DsBuffer(2) = Ds.CreateSoundBufferFromFile(Fichier, DsDesc, DsWave)
Set DsBuffer(3) = Ds.CreateSoundBufferFromFile(Fichier, DsDesc, DsWave)

c'est à dire perdre de la mémoire

yat il une autre moyenne efficace ?! lorsque je press sur play faut lire le son on press 2 fois faut le relire et le 1 reste en lecture !!

je crois qu'il est facile sur vous ?

Merci boko ami .
VBasic_MFC Messages postés 12 Date d'inscription dimanche 5 septembre 2004 Statut Membre Dernière intervention 31 juillet 2007
5 févr. 2006 à 16:49
mais c'est pas ça mon objectif !
j doi jouer avec k 1 seul fichier wave et pas plus ( mixer )!
le but est :
jouer un seul fichier son (*.wav) d'une duré 1 minute ok? a chaque 20 milliseconde (+ ou -) sans qu'il s'arrête!!!!! avant de le rejouer deuxieme fois , ok ?!!!!
bayanathicham Messages postés 7 Date d'inscription mardi 2 août 2005 Statut Membre Dernière intervention 2 mars 2006
4 févr. 2006 à 00:16
10s / 3=3.33333...
alor charger le meme fichier 3 fois

LoadSound "NomFicheri",1
LoadSound "NomFicheri",2
LoadSound "NomFicheri",3

Declarer une variable I en Haut

Private Sub Timer1_Timer()
i=i+1
if i>3 then i=1:
if i=1 then PlaySound 1:
if i=2 then PlaySound 2:
if i=3 then PlaySound 3:
End Sub
VBasic_MFC Messages postés 12 Date d'inscription dimanche 5 septembre 2004 Statut Membre Dernière intervention 31 juillet 2007
3 févr. 2006 à 23:48
Ok !
mon sujet est sur la lecture du fichier son mais des conditions :

-1- lire plusieurs fichiers son en même temps ( on peux faire ça

avec ton Class .
-2-ce ki le plus interessant :
en suposan ke on a un fichier son d'une durée d 10 secondes ; ok?; et je veux le lire d'une manière répetetive à chaque 3 secondes son qu'il s'arrête avant de commencer la deuxieme fois !! (Loop) , ok ?;
c-à-d .. il faut contunuera la lecture l'un sur l'autre ;
bayanathicham Messages postés 7 Date d'inscription mardi 2 août 2005 Statut Membre Dernière intervention 2 mars 2006
3 févr. 2006 à 23:02
(Commentaire pour les Nouveau dans Direct Sound 7
(DSBPLAY_LOOPING Lecture Repeter ; DSBPLAY_DEFAULT Lire 1 fois et areter))
XtremDuke Messages postés 626 Date d'inscription samedi 28 septembre 2002 Statut Membre Dernière intervention 18 mai 2009 4
3 févr. 2006 à 14:27
Pour bayanathicham : Il y a de nombreuses sources à ce sujet mais ca reste clair et bien construit alors je te mets 7/10


Pour VBasic_MFC : J'ai pas très bien compris tout ce que tu as dit mais mais dans ton timer, avant de jouer le wav, tu devrais essayer de stoper la lecture.
VBasic_MFC Messages postés 12 Date d'inscription dimanche 5 septembre 2004 Statut Membre Dernière intervention 31 juillet 2007
3 févr. 2006 à 03:08
Mais j'ai mots d'exklamations !
on change la constante DSBPLAY_LOOPING par DSBPLAY_DEFAULT dans ton class ; aprés ajouton une controle Timer1 avec interval=20(ms)
;on remplaçon le fichier ok2.wav par le fichier de windows"C:\WINDOWS\Media\chimes.wav" etcoller ce code:

Private Sub Form_Load()
initDsound Form1
LoadSound App.Path & "\chimes.wav", 1
End Sub

Private Sub Timer1_Timer()'Timer1.Interval = 20
PlaySound 1
End Sub

on remarqueron que la lecture de fichier son ne répond pas à la
quadence de Timer1 ; normalement il faut le relire a chaque 20 milliseconds ; mais ca marche pas ?!!!!!
c'est quoi le probléme ? ton class !
Rejoignez-nous