Retour à la page d'Accueil

Cours 15 : Le multimédia




La lecture des fichiers audio ou vidéo se fait à l'aide du contrôle MMControl. Pour cela, choisissez la commande "Composants" du menu "Projet". Cochez le contrôle Microsoft Multimedia Control 6.0 et validez. A présent, le contrôle MMControl est dans votre boîte d'outils.
Notez qu'il existe plusieurs types d'objet multimédia comme vous pouvez vous en douter. Les plus courantes sont:

Type d'objet multimédia Type de fichier Extension
WaveAudio Fichier sonore numérisé WAV .WAV
Sequencer Fichier musical MIDI .MID
CDAudio Morceau de musique sur un CD audio -
AVIVideo Fichier numérique au format AVI .AVI

Bien sur, il en existe bien d'autres types d'objet multimédia mais nous nous contenterons de ceux cités dans le tableau.




Pour ouvrir un fichier multimédia, servez-vous des boîtes de dialogue communes.
Pour imiter les commandes du contrôle MMControl, il est utile de connaître les commandes MCI. Elles agissent sur le comportement de ce dernier.
Voici une liste des commandes MCI, les plus importantes:

Commande MCI Fonction
Stop Stoppe immédiatement la lecture en cours.
Play Joue le fichier sélectionné.
Open Ouvre le fichier sélectionné.
Close Ferme le fichier sélectionné.
Pause Interrompt la lecture en cours.
Eject Éjecte le CD contenu dans le CD-ROM.

Par exemple, l'instruction MMControl1.Command = "Stop" permet de stopper immédiatement le fichier audio/vidéo en cours. Ainsi, pour lire un fichier ".wav", commencer par l'ouvrir avec la commande "Open", puis pour la lecture de ce fichier, utilisez la commande "Play". Si vous désirez stopper la lecture en cours, utilisez la commande "Stop". Enfin, n'oubliez pas de bien refermer le fichier à l'aide de la commande "Close" car il se peut qu'il reste encore en mémoire et donc qu'il occupe encore une partie de votre mémoire vive.

Pour les fichiers "CDAudio", cela se passe un peu différemment. Placez la portion de code qui suit dans la procédure "Form_Load()":

Private Sub Form_Load()
MMControl1.DeviceType = "CDAudio"
MMControl1.Command = "Open"
MMControl1.UpdateInterval = 1000
MMControl1.Timeformat = 10
End Sub

Explication:
  • La 1ère instruction informe au contrôle MMControl du type de fichier qui va ouvert. Cela est nécessaire car les fichiers "CDAudio" sont différents des autres.
  • La 2nde instruction permet d'ouvrir le premier morceau de musique.
  • La 3ème instruction permet de déterminer l'intervalle de temps où doit s'exécuter la procédure MMControl1.StatusUpdate(), c'est-à-dire, toutes les secondes (ici, le temps est défini en milliseconde), la procédure MMControl1.StatusUpdate().
  • La 4ème instruction détermine le format horaire à utiliser pour exprimer les informations relatives à la position en cours dans le CDAudio, par exemple combien de temps se sont écoulés depuis la lecture d'une musique.

Pour éjecter le CD du CD-ROM, placez la portion de code qui suit dans la procédure "MMControl1_EjectClick(Cancel As Integer)":

Private Sub MMControl1_EjectClick(Cancel As Integer)
MMControl1.Command = "Eject"
MMControl1.Command = "Close"
End
End Sub

Explication: Comme vous vous doutez, la 1ère instruction permet d'éjecter le CD ,la 2nde de fermer le périphérique MCI (sorties audio/vidéo) et la dernière de quitter l'application.

Enfin, le plus important, placez la portion de code qui suit dans la procédure MMControl1_StatusUpdate():

Private Sub MMControl1_StatusUpdate()
Dim All, Seconde, Minute, Misc
All = MMControl1.Position Mod 16777216
Seconde = All / 65536
Minute = (All - Seconde * 65536) /256
Misc = All - Seconde * 65536 - Minute * 256
Piste.Caption = " Piste " + Str(Misc)
Temps.Caption = " Durée " + Minute + " : " + Seconde
End Sub

Explication: Les 3 premières instructions permettent d'extraire le numéro de la piste et du temps écoulé depuis le début. La 4ème instruction place le numéro de la piste en cours dans le contrôle "Piste" (il peut être un contrôle "Texbox" ou "Label"). Enfin, la dernière instruction place la durée du temps écoulé depuis la première piste dans le contrôle "Temps" il peut être un contrôle "Texbox" ou "Label").


up
Cours précédent Cours suivant