IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

VB 6 et antérieur Discussion :

[VB6] Lire deux sons en même temps


Sujet :

VB 6 et antérieur

  1. #1
    Membre régulier Avatar de daladim
    Profil pro
    Étudiant
    Inscrit en
    Juillet 2004
    Messages
    153
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juillet 2004
    Messages : 153
    Points : 94
    Points
    94
    Par défaut [VB6] Lire deux sons en même temps
    Salut à tous,

    je suis en train de programmer un jeu en VB (Tetris, en fait)
    J'aimerais donc pouvoir lire des sons (musique, bruit lorsque les formes sont posées, etc...)

    J'ai trouvé sur Internet beaucoup de sources utilisant la fonction
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Function PlaySound Lib "winmm.dll" Alias "PlaySoundA"
    Cette méthode marche parfaitement pour lire un son, mais comment faire pour lire 2 sons en même temps ? (par exemple, la musique en fond, qui est lue en boucle, et, de temps en temps, un bruit par-dessus, comme celui d'une forme posée)

    Merci beaucoup !

  2. #2
    Membre du Club
    Profil pro
    Inscrit en
    Novembre 2004
    Messages
    100
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Novembre 2004
    Messages : 100
    Points : 65
    Points
    65
    Par défaut
    Pourquoi ne pas simplement créer une deuxième fonction ?

    EX:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    Function PlayMusic Lib "winmm.dll" Alias "PlaySoundA"
    Function PlaySound Lib "winmm.dll" Alias "PlaySoundA"

  3. #3
    Membre régulier Avatar de daladim
    Profil pro
    Étudiant
    Inscrit en
    Juillet 2004
    Messages
    153
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juillet 2004
    Messages : 153
    Points : 94
    Points
    94
    Par défaut
    C'était une bonne idée (à laquelle je n'avais pas pensé), ShortcutZ, mais malheureusement, ca ne marche pas...

    Par contre, j'ai essayé de créer cette fonction dans un autre programme, et j'arrive ainsi à lier 2 sons en même temps (chacun venant d'un programme différent).
    Mais est-il possible de faire plus ou moins pareil, dans 1 seul programme ? (peut-être en créant plusieurs threads ? (je ne connais rien aux threads..))

    Quelqu'un a une idée ? Quelqu'un saurait si 2 threads pourraient jouer 2 sons en même temps (le but étant de garder un unique fichier .exe...)

    Merci beaucoup

  4. #4
    Membre expert
    Avatar de Delbeke
    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    2 675
    Détails du profil
    Informations personnelles :
    Âge : 71
    Localisation : France

    Informations forums :
    Inscription : Juillet 2006
    Messages : 2 675
    Points : 3 696
    Points
    3 696
    Par défaut
    Peut etre en faisant un composant ocx empaquetant la fonction, tu en depose ensuite deux sur ta form

  5. #5
    Membre du Club
    Profil pro
    Inscrit en
    Mars 2003
    Messages
    36
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2003
    Messages : 36
    Points : 41
    Points
    41
    Par défaut
    Citation Envoyé par Delbeke
    Peut etre en faisant un composant ocx empaquetant la fonction, tu en depose ensuite deux sur ta form
    Je viens d'essayer, en mettant deux "Contrôles ActiveX Microsoft Multimedia" (MMControl) sur une feuille, de les faire jouer en même temps, et ça ne marche pas : quand on lance le deuxième son il interrompt l'exécution du premier.

  6. #6
    Membre régulier Avatar de daladim
    Profil pro
    Étudiant
    Inscrit en
    Juillet 2004
    Messages
    153
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juillet 2004
    Messages : 153
    Points : 94
    Points
    94
    Par défaut
    Salut,

    j'ai trouvé une vague solution grâce à vos idées : je lis un son avec la fonction de l'API, et un autre avec un MMPlayer. (Heureusement, je prévois pas de jouer plus de 2 sons en même temps...)

    Mais bon, ce n'est pas très propre...
    Ca me dépanne, mais si quelqu'un aurait une vraie solution, ce serait super !!

    Merci beaucoup !

  7. #7
    Expert éminent sénior
    Avatar de ProgElecT
    Homme Profil pro
    Retraité
    Inscrit en
    Décembre 2004
    Messages
    6 105
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 68
    Localisation : France, Haute Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : Retraité
    Secteur : Communication - Médias

    Informations forums :
    Inscription : Décembre 2004
    Messages : 6 105
    Points : 16 626
    Points
    16 626
    Par défaut
    Il semblerait que deux sons de même type ne peuvent être joués en même temps, par contre je viens de faire l'essais, deux sons de type different eux peuvent etre emis en même temps
    Mon code d'essais concluant/
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    Private Sub Form_Load()
    MMControl1(0).DeviceType = "Sequencer"
    MMControl1(0).FileName = "C:\PersoFrancis\Pour SON Wav\PINBALL.MID"
    MMControl1(0).Command = "Open"
     
    MMControl1(1).DeviceType = "WaveAudio"
    MMControl1(1).FileName = "C:\PersoFrancis\Pour SON Wav\kongas.wav"
    MMControl1(1).Command = "Open"
    End Sub
    Private Sub Form_Unload(Cancel As Integer)
    MMControl1(0).Command = "Close"
    MMControl1(1).Command = "Close"
    End Sub
    Je declanche le fichier MID (son d'embiance de fond) puis une ou plusieurs fois le son WAV (bruitage)

  8. #8
    Membre régulier Avatar de daladim
    Profil pro
    Étudiant
    Inscrit en
    Juillet 2004
    Messages
    153
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juillet 2004
    Messages : 153
    Points : 94
    Points
    94
    Par défaut
    Salut !

    Merci pour ta proposition, mais malheureusement, la musique n'est pas au format midi. Les sons et la musique sont tous les 2 au format wav...

    Si vous avez d'autres solutions, n'hésitez pas !
    Merci !

Discussions similaires

  1. [Free Pascal] Jouer deux sons en même temps
    Par Monsieur Griboux dans le forum Free Pascal
    Réponses: 3
    Dernier message: 29/11/2012, 18h43
  2. Lire deux fichiers en même temps
    Par forest.y dans le forum VBScript
    Réponses: 6
    Dernier message: 10/08/2011, 00h29
  3. Lire deux fichiers en même temps
    Par Carlozi dans le forum Langage
    Réponses: 23
    Dernier message: 31/07/2008, 12h19
  4. [JFrame]pb de lancement de deux JFrame en même temps
    Par spoutyoyo dans le forum Agents de placement/Fenêtres
    Réponses: 8
    Dernier message: 24/08/2004, 15h33
  5. Lancer deux sons en même temps...
    Par Julien_riquelme dans le forum API, COM et SDKs
    Réponses: 1
    Dernier message: 03/05/2003, 17h00

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo