cs_yvesyves
Messages postés561Date d'inscriptionsamedi 10 janvier 2004StatutMembreDernière intervention11 octobre 2010
-
15 août 2005 à 14:50
OneHacker
Messages postés1447Date d'inscriptionjeudi 2 novembre 2000StatutMembreDernière intervention23 septembre 2007
-
16 août 2005 à 22:48
Voilà le problème. J'ai un module qui utlise une api pour charger
windows media player dll. Mais je ne peut charger qu'un son à la fois.
Si je charge un autre son le précédent est coupé pour le nouveau son.
Comment peut t'on jouer plusieurs sons?
PCPT
Messages postés13272Date d'inscriptionlundi 13 décembre 2004StatutMembreDernière intervention 3 février 201847 15 août 2005 à 17:32
pensez à mettre vos languages svp (VBA || VB6 || .NET)
pour jouer un son, pas la peine d'utiliser le player.....
voici l'API qui me semble la plus appropriée
'API son
Public Declare Function PlaySound Lib "winmm.dll" Alias "PlaySoundA" _
(ByVal lpszName As String, ByVal hModule As Long, _
ByVal dwFlags As Long) As Long
'
Public Const SND_APPLICATION = &H80 ' look for application specific association
Public Const SND_ALIAS = &H10000 ' name is a WIN.INI [sounds] entry
Public Const SND_ALIAS_ID = &H110000 ' name is a WIN.INI [sounds] entry identifier
Public Const SND_ASYNC = &H1 ' play asynchronously
Public Const SND_FILENAME = &H20000 ' name is a file name
Public Const SND_LOOP = &H8 ' loop the sound until next sndPlaySound
Public Const SND_MEMORY = &H4 ' lpszSoundName points to a memory file
Public Const SND_NODEFAULT = &H2 ' silence not default, if sound not found
Public Const SND_NOSTOP = &H10 ' don't stop any currently playing sound
Public Const SND_NOWAIT = &H2000 ' don't wait if the driver is busy
Public Const SND_PURGE = &H40 ' purge non-static events for task
Public Const SND_RESOURCE = &H40004 ' name is a resource name or atom
Public Const SND_SYNC = &H0 ' play synchronously (default)
OneHacker
Messages postés1447Date d'inscriptionjeudi 2 novembre 2000StatutMembreDernière intervention23 septembre 20072 15 août 2005 à 20:10
je peux pas car quand le son est en route plus rien ne peut être cliqué jusqu'à la fin du morceau ! Donc je peux pas recliquer sur "Play" !, ça bloque tout !
PCPT
Messages postés13272Date d'inscriptionlundi 13 décembre 2004StatutMembreDernière intervention 3 février 201847 15 août 2005 à 20:36
mode multi class?
je ne vois pas de quoi tu parles. je suis vous VB6.......
les Constantes sont là pour être utilisées.......
si tu ne peux pas cliquer, c'est que tu n'as pas prévu de démarrer tes sons en les autorisants à se chevaucher......
(je ne vois pas le rapport avec une classe....)
PCPT
PCPT
Messages postés13272Date d'inscriptionlundi 13 décembre 2004StatutMembreDernière intervention 3 février 201847 15 août 2005 à 21:11
j'ai fait comme tout le monde.....
j'ai cherché. ( www.allapi.net )
pas besoin de connaître une DLL.... peu de personnes doivent maitriser "User32", çà n'empêche pas de faire des MsgBox....
si tu ne peux plus cliquer, c'est que tu as demandé une lecture synchro (je suppose). donc t'as plus qu'a essayer en Asynchrone
pour spécifier 2 arguments ; non-synchronisé et que le fichier est une ressource externe par exemple, les arguments doivent être indiqués de cette manière : SND_FILENAME Or SND_ASYNC
PCPT
Messages postés13272Date d'inscriptionlundi 13 décembre 2004StatutMembreDernière intervention 3 février 201847 16 août 2005 à 17:48
yvesyves ->
créé un module contenant mes précédentes déclaration, ou dans ta Form, en private
sur ta Form, 2 Boutons par défaut
'je déclare mon argument, pour faire plus propre. il contient ces 3 infos :
' -> fichier externe, donc chemin
' -> joue non-synchro, donc léger décalage, permettant de ne pas bloquer l'action, et continue le son après le "UnLoad"
' -> pas le vieux "beep" si le fichier n'est pas trouvé
Const SND_PERSONNAL = (SND_FILENAME Or SND_ASYNC Or SND_NODEFAULT)
'
'
'
Private Sub Command1_Click()
PlaySound App.Path & "\ONE.WAV", 0, SND_PERSONNAL
End Sub
'
'
'
Private Sub Command2_Click()
PlaySound App.Path & "\TWO.WAV", 0, SND_PERSONNAL
End Sub
PCPT
Messages postés13272Date d'inscriptionlundi 13 décembre 2004StatutMembreDernière intervention 3 février 201847 16 août 2005 à 19:31
avec cet exemple, oui.
il doit exister d'autres constantes, ou peut-être avec "NOSTOP" ou "NOWAIT", j'ai pas poussé, c'était pour montrer comment les cumuler et avec un exemple précis.
pareil, je n'ai pas essayé avec des .MP3
tu as la marche à suivre, le principe, et un lien pour trouver du pile poil. donc ce que tu demandais.
à toi de voir si çà correspond...