Problème d'API son

cs_yvesyves Messages postés 561 Date d'inscription samedi 10 janvier 2004 Statut Membre Dernière intervention 11 octobre 2010 - 15 août 2005 à 14:50
OneHacker Messages postés 1447 Date d'inscription jeudi 2 novembre 2000 Statut Membre Dernière intervention 23 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?

Merci de vos réponses

25 réponses

OneHacker Messages postés 1447 Date d'inscription jeudi 2 novembre 2000 Statut Membre Dernière intervention 23 septembre 2007 2
15 août 2005 à 15:53
Moi j'ai trouvé la solution, donne moi ton adresse, email en m'envoyant un message privé et ce soir ou demain, t'aura la source !
Promis !

Redman
0
PCPT Messages postés 13272 Date d'inscription lundi 13 décembre 2004 Statut Membre Dernière intervention 3 février 2018 47
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)

PCPT
0
OneHacker Messages postés 1447 Date d'inscription jeudi 2 novembre 2000 Statut Membre Dernière intervention 23 septembre 2007 2
15 août 2005 à 17:42
C'est exactement ce que j'allais lui passer !

Redman
0
PCPT Messages postés 13272 Date d'inscription lundi 13 décembre 2004 Statut Membre Dernière intervention 3 février 2018 47
15 août 2005 à 18:01
bah je vois pas l'intérêt de ne pas donner la solution à TOUS les lecteurs.....

PCPT
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
OneHacker Messages postés 1447 Date d'inscription jeudi 2 novembre 2000 Statut Membre Dernière intervention 23 septembre 2007 2
15 août 2005 à 18:24
Je suis en train de le programmer, mais il y a aucune erreur pourtant ca marche pas !

Redman
0
OneHacker Messages postés 1447 Date d'inscription jeudi 2 novembre 2000 Statut Membre Dernière intervention 23 septembre 2007 2
15 août 2005 à 19:33
PCPT,

comment jouer deux sons à la fois (en utilisants les flags ou autre) ?

Redman
0
PCPT Messages postés 13272 Date d'inscription lundi 13 décembre 2004 Statut Membre Dernière intervention 3 février 2018 47
15 août 2005 à 19:51
Public Const SND_NOSTOP = &H10 ' don't stop any currently playing sound

PCPT
0
OneHacker Messages postés 1447 Date d'inscription jeudi 2 novembre 2000 Statut Membre Dernière intervention 23 septembre 2007 2
15 août 2005 à 20:07
j'ai essayé avec un mode mutli class mais je vais essayé d'une autre façon.

Redman
0
OneHacker Messages postés 1447 Date d'inscription jeudi 2 novembre 2000 Statut Membre Dernière intervention 23 septembre 2007 2
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 !

Redman
0
PCPT Messages postés 13272 Date d'inscription lundi 13 décembre 2004 Statut Membre Dernière intervention 3 février 2018 47
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
0
OneHacker Messages postés 1447 Date d'inscription jeudi 2 novembre 2000 Statut Membre Dernière intervention 23 septembre 2007 2
15 août 2005 à 20:38
Non les classes pas graves, mais je voulez faire que je puisse jouer plusieurs sons à la fois !

Redman
0
PCPT Messages postés 13272 Date d'inscription lundi 13 décembre 2004 Statut Membre Dernière intervention 3 février 2018 47
15 août 2005 à 20:44
et mon post précédent laisse penser que je n'ai pas compris ton problème?
0
OneHacker Messages postés 1447 Date d'inscription jeudi 2 novembre 2000 Statut Membre Dernière intervention 23 septembre 2007 2
15 août 2005 à 21:01
Pour permettre les sons de se chevaucher il faut connaitre les flags et constantes il faut connaitre la dll

Au fait comment t'a fait pour connaitre toutes ces constantes, car moi j'ai vu ca dans l'aide de VB mais il ne montrait que 5 constantes !

Redman
0
PCPT Messages postés 13272 Date d'inscription lundi 13 décembre 2004 Statut Membre Dernière intervention 3 février 2018 47
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
0
OneHacker Messages postés 1447 Date d'inscription jeudi 2 novembre 2000 Statut Membre Dernière intervention 23 septembre 2007 2
15 août 2005 à 21:16
J'ai essayé la lecture asynchrone mais ca marche pas non plus !

merci pour le site !

Redman
0
cs_yvesyves Messages postés 561 Date d'inscription samedi 10 janvier 2004 Statut Membre Dernière intervention 11 octobre 2010
16 août 2005 à 14:42
PCPT, pourrais tu donner un exemple de l'utilisation pour jouer plusieurs sons a la fois en meme temps
0
OneHacker Messages postés 1447 Date d'inscription jeudi 2 novembre 2000 Statut Membre Dernière intervention 23 septembre 2007 2
16 août 2005 à 16:06
J'ai essayé mais ton conseil ne marche pas ! Je suis obligé d'ouvrir 2 fois le programme pour que ca marche !

Redman
0
PCPT Messages postés 13272 Date d'inscription lundi 13 décembre 2004 Statut Membre Dernière intervention 3 février 2018 47
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
0
cs_yvesyves Messages postés 561 Date d'inscription samedi 10 janvier 2004 Statut Membre Dernière intervention 11 octobre 2010
16 août 2005 à 19:26
le prob c'est que l'ancien son sarrette pour lancer le nouveau
0
PCPT Messages postés 13272 Date d'inscription lundi 13 décembre 2004 Statut Membre Dernière intervention 3 février 2018 47
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...

PCPT
0
Rejoignez-nous