'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és12Date d'inscriptiondimanche 5 septembre 2004StatutMembreDernière intervention31 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és7Date d'inscriptionmardi 2 août 2005StatutMembreDernière intervention 2 mars 2006 4 févr. 2006 à 00:16
10s / 3=3.33333...
alor charger le meme fichier 3 fois
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és12Date d'inscriptiondimanche 5 septembre 2004StatutMembreDernière intervention31 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és7Date d'inscriptionmardi 2 août 2005StatutMembreDerniè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és626Date d'inscriptionsamedi 28 septembre 2002StatutMembreDernière intervention18 mai 20094 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és12Date d'inscriptiondimanche 5 septembre 2004StatutMembreDernière intervention31 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 !
5 déc. 2006 à 17:43
8 févr. 2006 à 16:04
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 .
5 févr. 2006 à 16:49
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 ?!!!!
4 févr. 2006 à 00:16
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
3 févr. 2006 à 23:48
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 ;
3 févr. 2006 à 23:02
(DSBPLAY_LOOPING Lecture Repeter ; DSBPLAY_DEFAULT Lire 1 fois et areter))
3 févr. 2006 à 14:27
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.
3 févr. 2006 à 03:08
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 !