Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
2323 connectés 

  FORUM HardWare.fr
  Programmation
  C++

  Detecter la fin de lecture d'une MIDI avec lecture via MCI, & boucle?

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

Detecter la fin de lecture d'une MIDI avec lecture via MCI, & boucle?

n°850198
Jesus Army
Allez voir là bas si j'y suis
Posté le 14-09-2004 à 19:44:27  profilanswer
 

Bonjour. :hello:
 
Je me sert de la MCI (en c++) de windows afin de pouvoir lire une musique midi, et dans le but de lire la musique en boucle, ou de passer à une musique suivante une fois la lecture terminée, j'aimerais pouvoir detecter la fin de lecture du midi. Et là il y a un enorme packet de commande à envoyer à la MCI sur msdn, et après pas mal de recherche je n'ai pas trouvé mon bonheur.
 
Pourtant ca ne doit pas être trop compliqué de lire une midi en boucle ou de lire plusieurs midi les unes à la suite des autres non ? Il me faudrait juste savoir quand est-ce que la musique est finie afin de pouvoir lancer la suivante... :) (ou la meme dans le cas d'une boucle)
 
Si quelqu'un connait la commande magique, je suis preneur car là je galère là dessus depuis hier, alors qu'il doit suffire de trouve le bon MCI_TRUCBIDULE à envoyer... :'(
 
Mercÿte :jap:

mood
Publicité
Posté le 14-09-2004 à 19:44:27  profilanswer
 

n°850226
bjone
Insert booze to continue
Posté le 14-09-2004 à 20:57:28  profilanswer
 

ché pas, j'ai jamais utilisé, ptet qu'il y a un message qui t'es envoyé ?

n°850373
Jesus Army
Allez voir là bas si j'y suis
Posté le 14-09-2004 à 23:26:54  profilanswer
 

Beh je ne crois pas... En revanche je pense qu'il doit être possible d'interroger le MCI pour savoir s'il a fini sa lecture, mais je ne trouve pas comment... :/

n°850855
Jesus Army
Allez voir là bas si j'y suis
Posté le 15-09-2004 à 16:30:35  profilanswer
 

Toujours pas trouvé... :'(
 
Moi je lance la lecture avec cette commande, il doit y avor un paramètre qui fait en sorte que la lecture se fasse en boucle non ? :'(

Code :
  1. MCI_PLAY_PARMS mciPlayParms;
  2.   if (mciSendCommand(m_uiMIDIPlayerID, MCI_PLAY, 0,
  3.     (DWORD_PTR)&mciPlayParms) != 0)

n°850915
Jesus Army
Allez voir là bas si j'y suis
Posté le 15-09-2004 à 17:44:06  profilanswer
 

J'ai fini par trouver. Comme prévu c'etait tout bete mais fallait trouver le bon truc...
 
Je donne la solution pour ceux que ca interesserait : :)
 
Alors il suffisait donc de lancer la musique avec le message "MCI_NOTIFY" et de renseigner mciPlayParms comme ci dessous, de manière à ce que le message "MM_MCINOTIFY" soit renvoyé à notre chère winproc() quand la lecture est terminée.
 

Code :
  1. mciPlayParms.dwCallback = (DWORD)m_hWindow; //m_hWindow etant bien sur le descripteur de la fenêtre


 
Ce qui donne donc cela pour lancer la lecture :

Code :
  1. MCI_PLAY_PARMS mciPlayParms;
  2.   mciPlayParms.dwCallback = (DWORD)m_hWindow;
  3.   if (mciSendCommand(m_uiMIDIPlayerID, MCI_PLAY, MCI_NOTIFY,
  4.     (DWORD_PTR)&mciPlayParms) != 0)


Message édité par Jesus Army le 15-09-2004 à 17:44:36

Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  C++

  Detecter la fin de lecture d'une MIDI avec lecture via MCI, & boucle?

 

Sujets relatifs
[shell]boucle for imbriquée pour recopie de fichierlié des tables SQL server en lecture via Access (résolu)
Detecter la résolution du moniteur pour charger une page adaptée[ActionScript] effacer un swf aprés la lecture.
[C++] Lecture de fichier[PHP] Problème boucle while et "continue;"
Lecture tableau associatif complexePlantage appli perl/tk lors d'une boucle ?
[odbc jdbc] lecture base dBase (.dbf)Détecter le plug-in FLASH
Plus de sujets relatifs à : Detecter la fin de lecture d'une MIDI avec lecture via MCI, & boucle?


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR