Bonjour, il y t'il des personnes habituées à l'API multimedia win32 (mmlib pas directX) utilisée pour jouer des sons wav. Je cherche à jouer des sons wav en simultanée mais j'obtiens un access violation.
Bonjour, il y t'il des personnes habituées à l'API multimedia win32 (mmlib pas directX) utilisée pour jouer des sons wav. Je cherche à jouer des sons wav en simultanée mais j'obtiens un access violation.
L'API multimédia n'est pas faite et destinée pour ça .
Les API SndPlaysnd et PlaySnd ne sont conçues que pour jouer en théorie un seul son
Seul solution possible : utiliser Direct Sound et créer un Direct Sound buffer ( tampon circulaire ) qui permet de jouer plusieurs WAV en même temps
Peut-être avec les commandes MCI mais ce sera pareil
SndPlaySound c la version simple pour un son effectivement. Mais si tu jettes un coup d'oeil au MSDN tu verras qu'il existe plein d'autres fonctions qui permette cette tâche (nommée waveIn*** ou waveOut***)
http://www.planet-source-code.com/vb...=4422&lngWId=3
un exemple
Non en fait, on va passer sous directX sous peu mais avant on désire une version intermédiaire avec l'existant (sous api multimédia win32)
Mon problème reside dans le fait que lorsque je joue 1 son puis que je tente d'en lancé un 2éme le membre lpdata d'une structure wavHeader est invalide et cause un access violation.
Comme je ne suis pas familier de cette API je veux juste savoir si qq sait comment fonctionne les waveHeader
Effectivement il ya l'API WAVEFORM.
Je répondrais de manière bête , bien initialiser les structures notamment avec ZeroMemory
C dû a la fonction waveOutopen qui me renvoit MMSYSERR_ALLOCATED
en fait j'ouvre x fois ce device audio si je dois joué x son en même temps. Ca a visiblement pas l'air d'être la bonne façon. Je ne sais pas vraiment là, je lutte grave
C'est bien ce que je pensais, on a x source mais un seul player. J'ai trouvé le précieux, une appli sur codeguru qui prend les wav, les samples pour du streaming, les mix et le envoie au player :
http://www.codeguru.com/Cpp/G-M/mult...cle.php/c4725/
Partager