1. Préface
Avec l'amélioration continue de l'environnement matériel multimédia et de l'environnement logiciel, la plupart du développement de logiciels informatiques implique actuellement l'application de la technologie logicielle multimédia.
Pour concevoir des applications multimédias, en principe, plusieurs niveaux d'outils peuvent être utilisés, allant du C aux systèmes de développement spécifiques au multimédia (tels que TOOLBOOK, AUTHORWARE, DIRECTOR). Cependant, étant donné que les logiciels multimédia impliquent des supports complexes et divers, ont un cycle de développement court et nécessitent la participation de divers professionnels, afin de réaliser un développement pratique et efficace, il est nécessaire de sélectionner un logiciel facile à utiliser et doté de haute efficacité de développement.
VisualBasic est un outil de programmation Windows développé par Microsoft. En raison de ses idées de conception avancées, de son utilisation simple et rapide et de ses moyens flexibles et diversifiés de contrôler les objets multimédias, il a attiré l'attention et la faveur des développeurs de logiciels multimédia et est donc devenu un outil idéal pour le développement d'applications multimédias.
2. Contrôle multimédia de VisualBasic MCI.OCX
MCI (Media Control Interface) est une norme d'interface de contrôle multimédia fournie par Microsoft pour garantir l'indépendance des appareils sous les systèmes Windows. Les utilisateurs peuvent facilement utiliser MCI pour contrôler les appareils multimédia standard.
MCI est inclus dans le module MMSYSTEM de l'extension Windows Multimedia, qui est utilisé pour coordonner la communication entre les événements et les pilotes de périphérique MCI et fournit des attributs d'interface indépendants du périphérique. Habituellement, les applications distinguent les périphériques MCI en spécifiant un type de périphérique MCI. Le type de périphérique spécifie le type physique du périphérique actuellement utilisé. Différents types de périphériques sont décrits à l'aide de différents attributs de contrôle (voir le tableau 1 en annexe).
En termes de méthodes de contrôle utilisées, les équipements MCI sont divisés en deux catégories : composés et simples. Un simple périphérique MCI ne nécessite aucun élément de périphérique. Par exemple, les lecteurs de CD audio et audio fonctionnent sur un disque dur déjà installé et ne nécessitent pas que les applications fournissent des informations sur le contenu multimédia sur lequel elles fonctionnent. Mais pour les périphériques MCI composites, l'application doit fournir un élément de périphérique, c'est-à-dire un fichier de données source ou un fichier de destination contenant tous les noms de chemin.
Le concept CustomControl (composant de contrôle utilisateur) du langage VisualBasic reflète la tendance de développement de la conception logicielle actuelle : les programmeurs peuvent intégrer une variété de contrôles utilisateur dans la boîte à outils VisualBasic (Toolbox), et chaque composant de contrôle utilisateur a certains attributs. et les méthodes de fonctionnement. Les programmeurs peuvent remplir des fonctions spécifiques en définissant des attributs et des méthodes de contrôle. Afin de contrôler facilement le multimédia, un contrôle utilisateur à des fins multimédia-MCI.OCX est fourni dans la version professionnelle de la boîte à outils VisualBasic.
Contrôle MCI multimédia MCI.OCX est spécialement utilisé pour enregistrer et lire des fichiers de données multimédia des appareils MCI à interface de contrôle multimédia. En termes de but et d'effet, ce contrôle utilise un ensemble de boutons pour émettre diverses commandes de contrôle de périphérique afin d'obtenir un contrôle tel que : panneau audio, contrôle MIDI des séquenceurs, lecteurs de CD-ROM, lecteurs de CD audio, lecture de bande vidéo, enregistrement et lecture de bande audio et autres équipements. En programmation Visual Basic, lors de l'ajout du contrôle MCI multimédia au tableau (double-cliquez sur le contrôle MCI dans la boîte à outils), les groupes de boutons suivants apparaîtront : avant (PRev), arrière (Suivant), lecture (Play), pause ( Pause, retour, étape, arrêt, enregistrement et éjection.
L'application est très flexible et pratique pour faire fonctionner cet ensemble de boutons de MCI. Par exemple, lorsque nous ouvrons un périphérique MCI, nous pouvons sélectionner le bouton d'état approprié à partir du contrôle à tout moment en fonction des propriétés du type de périphérique pour représenter le. état physique immédiat de l'appareil. Toutes les commandes MCI peuvent être programmées des manières suivantes : ⑴ visibilité et activation de la commande et de ses boutons ; ⑵ redéfinition variable ou complète de la commande ⑶ plusieurs appareils peuvent être contrôlés simultanément sous forme de fenêtre ;
3. Appel du composant de contrôle multimédia MCI.OCX
Dans Visual Basic 3.0 Professional Edition, le contrôle multimédia MCI.OCX (dans Visual Basic 3.0 et 4.0, l'extension du contrôle multimédia est .VBX) est fourni en tant que composant facultatif. Pour l'utiliser, vous devez d'abord exécuter la commande de menu FileAddFile et ajouter MCI.OCX dans le répertoire système Windows à la boîte à outils (Toolbox). À ce moment, l'icône MCI.OCX correspondante apparaîtra dans la boîte à outils. Si vous utilisez Visual Basic version 4.0 (ou version 5.0), sélectionnez le menu oolsCustomControls ou tapez directement Ctrl T, une boîte de dialogue apparaîtra, cochez la case en regard de l'entrée MicrosoftMultimediaControls dans la zone de liste AvailableControls et MCI apparaîtra également. dans la boîte à outils icône .OCX.
Double-cliquez sur l'icône du contrôle multimédia MCI.OCX dans la boîte à outils. Après avoir appelé le contrôle MCI.OCX, une rangée de boutons de contrôle multimédia gris (neuf) apparaîtra sous la forme FORM.
4. Étapes de conception d'applications multimédia VisualBasic
Contrôle multimédia MCI.OCX contient un ensemble de commandes de contrôle avancées indépendantes du périphérique. Lorsque vous utilisez ce contrôle multimédia, utilisez d'abord la commande OPEN pour ouvrir le périphérique MCI (périphérique multimédia) et créer un fichier correspondant pour effectuer des opérations telles que l'enregistrement ou la lecture (mais les fichiers correspondants ne peuvent pas être utilisés pour les CDAudio, les magnétoscopes et les cassettes vidéo). Une fois l'appareil ouvert avec succès, diverses commandes de fonctionnement (voir les commandes des boutons dans le tableau ci-joint) peuvent lui être émises pour effectuer les tâches de travail spécifiées. Enfin, n'oubliez pas d'utiliser la commande Fermer pour fermer les appareils et les fichiers de données.
Il est très pratique d'utiliser MCI.OCX pour développer des applications multimédia, car la plupart des propriétés sont faciles à comprendre, parmi lesquelles la propriété Command est particulièrement importante, qui envoie des commandes au périphérique multimédia pendant le fonctionnement. Le format est :
Form.Mmcontrol.Command=cmdstring$
Parmi eux, la variable cmdstring$ est le nom de commande exécutable suivant : Ouvrir, Fermer, Jouer, Pause, Arrêter, Précédent, Étape, Précédent, Suivant, Rechercher, Enregistrer, Éjecter, Son et Enregistrer. Une fois sa commande définie, elle est exécutée immédiatement et toutes les erreurs qui se produisent sont stockées dans l'attribut Erreur.
Ce qui suit prend la lecture du fichier DEMO.WAV (fichier de forme d'onde) comme exemple pour illustrer les étapes de conception de l'application multimédia VisualBasic.
Tout d'abord, créez un formulaire (Form) contenant des contrôles multimédia (MCI.OCX), de sorte que les touches de contrôle en forme d'enregistreur soient affichées à l'écran, mais pour le moment, les composants de contrôle multimédia ne peuvent pas être utilisés immédiatement (les touches sont grises), l'état de la clé doit être modifié via le code du programme.
Deuxièmement, dans le processus Form_Load, insérez le code du programme correspondant. comme suit
Sous-Formulaire_Load()
'Définissez les propriétés du périphérique multimédia avant d'émettre la commande OPEN
Form1.MMControl1.Notify=False
Form1.MMControl1.Wait=True
Form1.MMControl1.Shareable=False
Form1.MMControl1.DeviceType="WaveAudio"
Form1.MMControl1.FileName="c:windowss
Mmdatademo.wav"
Form1.MMControl1.Command="Ouvrir"
FinSub
Enfin, exécutez le programme ci-dessus et les touches de contrôle seront noires. À ce moment, vous pouvez utiliser les touches Play, Record et autres pour faire fonctionner le fichier de données DEMO.WAV. Par exemple, vous pouvez entendre l'effet sonore .WAV en cliquant sur le bouton Lecture avec la souris (l'ordinateur doit être équipé d'un appareil de prononciation).
Grâce à la déclaration ci-dessus, il n'est pas difficile de constater que VisualBasic utilise le contrôle multimédia MCI.OCX pour mettre en place un programme facile à maîtriser.
5. Exemples de conception d'applications multimédia VisualBasic
1. Jouer de la musique sur CD
De nombreux systèmes logiciels multimédia proposent un logiciel de lecteur de disque laser. Grâce au contrôle multimédia MCI.OCX, nous pouvons facilement programmer un lecteur de disque laser simple qui répond à nos propres besoins.
Le tableau 1 donne la définition des principaux composants de contrôle d'un simple lecteur de CD, suivi du code du programme source correspondant à chaque événement déclencheur.
La liste complète des programmes sources est la suivante :
`Utilitaire de lecteur de CD
`Veuillez charger un disque laser dans le lecteur de CD-ROM avant d'exécuter le programme' Le bouton "LOAD" déclenche l'événement
PrivateSubCommand1_Click()
`Charger le disque CD
OnErrorGoToMCI_ERROR
MMControl1.Command="Ouvrir"
SurErreurGoTo0
`Définir le format de l'heure
MMControl1.TimeFormat=vbMCIFormatTmsf
`Fermez le bouton LOAD et affichez l'image
Command1.Enabled=Faux
Image1.Image=Image3.Image
`Définissez le nombre initial de pistes
Étiquette1.Caption="1"
QuitterSub
MCI_ERREUR :
DisplayErrorMessageBox
ReprendreMCI_EXIT
MCI_EXIT :
Décharger le CD
FinSub
PrivateSubForm_Load()
MMControl1.Wait=Vrai
MMControl1.UpdateInterval=0
`Définir le type d'appareil
MMControl1.DeviceType="CDAudio"
`Définissez le numéro de piste par défaut sur 0
Étiquette1.Caption="0"
ndSub
PrivateSubForm_Unload (CancelAsInteger)
MCITest.Afficher
FinSub
'Le bouton "Sortie" déclenche un événement
PrivateSubMMControl1_EjectClick(CancelAsInteger)
Command1.Enabled=Vrai
Image1.Image=Image2.Image
MMControl1.UpdateInterval=0
OnErrorGoToMCI_ERROR2
MMControl1.Command="Éjecter"
MMControl1.Command="Fermer"
SurErreurGoTo0
Étiquette1.Caption="0"
Label3.BackColor=&H404040
QuitterSub
MCI_ERROR2 :
DisplayErrorMessageBox
ReprendreSuivant
FinSub
'Le bouton "avancer" déclenche l'événement
PrivateSubMMControl1_NextCompleted (ErrorCodeAsLong)
Étiquette1.Caption=Str$(MMControl1.Track)
FinSub
'Le bouton "Pause" déclenche l'événement
PrivateSubMMControl1_PauseClick(CancelAsInteger)
MMControl1.UpdateInterval=0
Label3.BackColor=&H404040
FinSub
'Le bouton "play" déclenche l'événement
PrivateSubMMControl1_PlayClick (CancelAsInteger)
MMControl1.UpdateInterval=1000
Étiquette1.Caption=Str$(MMControl1.Track)
FinSub
'Le bouton "Retour" déclenche l'événement
PrivateSubMMControl1_PrevCompleted (ErrorCodeAsLong)
Étiquette1.Caption=Str$(MMControl1.Track)
FinSub
PrivateSubMMControl1_StatusUpdate()
Label1.Caption=Str$(MMControl1.PositionAnd&HFF)
IfMMControl1.Mode=vbMCIModePlayThen
Label3.BackColor=&H80FF&
Autre
Label3.BackColor=&H404040
FinSi
FinSub
'Le bouton "Stop" déclenche l'événement
PrivateSubMMControl1_StopClick (CancelAsInteger)
MMControl1.UpdateInterval=0
Label3.BackColor=&H404040
MMControl1.To=MMControl1.Start
MMControl1.Command="Recherche"
MMControl1.Track=1
Étiquette1.Caption="1"
FinSub
2. Lire les fichiers AVI (Audio Video Interface)
Les films (y compris le son et les images) sont l'un des médias d'information qui préoccupent le plus la plupart des informaticiens, et la technologie de traitement des films est également l'une des technologies multimédias clés. Dans les systèmes multimédias, les fichiers AVI (Audio Video Interface) sont un format standard pour stocker des films (y compris des sons et des images). Ces fichiers AVI sont généralement obtenus en capturant des signaux vidéo en temps réel, ou les images peuvent être obtenues via un scanner ou obtenues à l'aide d'un scanner. logiciel d'animation. Par conséquent, les opérations audio et vidéo sur la fenêtre d'écran deviennent le traitement des fichiers AVI (le suffixe du fichier est AVI). Dans le travail réel, il existe de nombreuses façons de lire des fichiers AVI (c'est-à-dire des vidéos), parmi lesquelles la méthode d'utilisation du contrôle multimédia de Visual Basic est la plus simple et la plus pratique. Voici un exemple spécifique pour illustrer comment lire un fichier AVI : Supposons qu'il existe un fichier vidéo et audio nommé DEMO.AVI dans le répertoire actuel de l'utilisateur et que l'utilisation de VisulBasic pour lire la vidéo nécessite les étapes suivantes :
(1) Ajoutez un contrôle multimédia MMControl, un contrôle de zone d'image PictureBox et deux composants de bouton de commande ComandButton au formulaire Visual Basic ;
(2) Définissez les propriétés de chaque contrôle, où le formulaire est nommé Form1, le contrôle multimédia MMControl est nommé MMControl1, le contrôle de zone d'image PictureBox est nommé Picture1 et les deux contrôles de bouton de commande ComandButton sont nommés respectivement Play et Close ;
(3) Écrivez chaque code de programme source d'événement déclencheur et exécutez-le. Le code source est :
PrivateSubPlay_Click()
MMControl1.Filename="DEMO.AVI"
MMControl1.DeviceType=="AVIVIDEO"
MMControl1.hWndDisplay=Image1.hWnd
MMControl1.Command="OUVERT"
MMControl1.To=1
MMControl1.Command="RECHERCHE"
MMControl1.Command="JOUER"
FinSub
PrivateSubClose_Click()
MMControl1.Command="STOP"
MMControl1.Command="FERMER"
FinSub
Il convient de noter qu'avant de lire des fichiers AVI, le pilote AVI (audio vidéo) doit d'abord être installé sous Windows. Le nom du pilote AVI est MCIAVI.DRV. Il doit être copié dans le répertoire WINDOWS SYSTEM et ajouté à la section [MCI] du fichier SYSTEM.INI :
AVIVIDEO=MCIAVI.DRV
De cette façon, lors de l'exécution de Windows, Windows installera automatiquement le pilote AVI.
Ce qui précède décrit uniquement le processus opérationnel d'utilisation du composant de contrôle multimédia pour lire des fichiers audio (.WAV), des enregistrements de CD et des fichiers audio et vidéo (.AVI). En fait, le composant de contrôle multimédia peut également être utilisé pour lire des fichiers d'animation (.FLI, .FLC), des fichiers MIDI et d'autres informations multimédias.
6. Conclusion
D'après la discussion précédente, il n'est pas difficile de voir qu'en utilisant le composant de contrôle multimédia MCI.OCX fourni par Visual Basic, la majorité des utilisateurs d'ordinateurs peuvent développer diverses applications multimédia de manière pratique, rapide et efficace. Mais il faut souligner que lors du développement et de la conception d'applications multimédia Visual Basic, outre l'utilisation de composants de contrôle multimédia, d'autres moyens peuvent également être utilisés, comme l'appel de fonctions API, etc. (Compte tenu de la longueur, cela n'est pas abordé ici). On peut constater que Visual Basic est en effet un outil de développement idéal pour les développeurs de logiciels multimédia professionnels et non professionnels.
Annexe 1 Définition du type de périphérique MCI
Type d'appareilDescription de l'appareil
Lecteur de disque laser CDAudio
Lecteur audio à bande numérique DAT
Équipement d'imagerie vidéo numérique dynamique DigitalVideo
Équipement de lecture d'animation
Autres appareils MCI pour lesquels aucune définition standard n'est donnée
La superposition simule un périphérique de superposition d'images vidéo
Séquenceur MIDI
Enregistreur de disque contrôlé par programme magnétoscope
VideoDisc peut utiliser des lecteurs de vidéodisques laser contrôlés par programme
WaveAudio est un appareil qui lit l'audio sous forme d'onde numérique ???
Annexe 2 Liste des événements uniques pour les composants de contrôle multimédia
Description de l'événement
Terminé termine l'action de la commande MCI (Notify est vrai)
BoutonCliquez sur le bouton
Achèvement de la commande d'exécution du bouton ButtonCompleted
Le bouton ButtonGetFocus obtient le focus d’entrée
ButtonLostFocusButton a perdu le focus d'entrée
StatusUpdate met à jour les informations d'état de l'objet de contrôle multimédia->