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").