Incorporation du contrôle Lecteur multimédia Windows dans une solution Visual Basic .NET
[La fonctionnalité associée à cette page, Lecteur multimédia Windows SDK, est une fonctionnalité héritée. Il a été remplacé par MediaPlayer. MediaPlayer a été optimisé pour Windows 10 et Windows 11. Microsoft recommande vivement que le nouveau code utilise MediaPlayer au lieu de Lecteur multimédia Windows SDK, lorsque cela est possible. Microsoft suggère que le code existant qui utilise les API héritées soit réécrit pour utiliser les nouvelles API si possible.]
Pour utiliser les fonctionnalités de Lecteur multimédia Windows série 9 ou version ultérieure dans une application Visual Basic .NET, commencez par ajouter le composant à un formulaire, comme décrit dans Utilisation du contrôle Lecteur multimédia Windows avec Microsoft Visual Studio
Cette section explique comment créer une application qui lit des vidéos et dispose de boutons de lecture et d’arrêt personnalisés.
Ajouter la fenêtre vidéo
Ajoutez le contrôle Lecteur multimédia Windows à un formulaire. Redimensionnez le contrôle, puis placez-le à l’endroit où vous souhaitez que la fenêtre vidéo apparaisse.
Sélectionnez le contrôle Lecteur multimédia Windows, puis remplacez la propriété uiMode par « none ». Ce paramètre masque les contrôles de l’interface utilisateur. Lorsque l’utilisateur lit une vidéo, celle-ci s’affiche dans la fenêtre. Pour le contenu audio uniquement, une visualisation s’affiche.
Ajouter deux boutons et ajuster le formulaire
Ajoutez maintenant deux boutons au formulaire. Sélectionnez le premier bouton et remplacez la propriété Text par « Lecture ». Sélectionnez le deuxième bouton et remplacez sa propriété Text par « Arrêter ».
Ajouter le code de lecture
Double-cliquez sur le bouton Lecture pour afficher la fenêtre Code. Le code suivant s’affiche :
Private Sub Button1_Click(ByVal sender As System.Object, _
ByVal e As System.EventArgs) Handles Button1.Click
End Sub
Ajoutez cette ligne à la sous-routine :
AxWindowsMediaPlayer1.URL = "c:\mediafile.wmv"
Dans l’exemple de code précédent, « axWindowsMediaPlayer1 » est le nom par défaut du contrôle Lecteur multimédia Windows et « c:\mediafile.wmv » est un espace réservé pour le nom du média que vous souhaitez lire.
Si vous avez ajouté le contenu multimédia numérique du Kit de développement logiciel (SDK) Lecteur multimédia Windows à la bibliothèque dans Lecteur multimédia Windows, vous pouvez utiliser ce code à la place :
axWindowsMediaPlayer1.currentPlaylist = _
axWindowsMediaPlayer1.mediaCollection.getByName("mediafile")
Étant donné que la propriété autoStart a la valeur true par défaut, Lecteur multimédia Windows commencez à lire lorsque vous définissez la propriété currentPlaylist ou URL.
Ajouter le code d’arrêt
Double-cliquez sur le bouton Arrêter pour afficher la fenêtre Code. Le code suivant s’affiche :
Private Sub Button2_Click(ByVal sender As System.Object, _
ByVal e As System.EventArgs) Handles Button1.Click
End Sub
Ajoutez cette ligne à la sous-routine :
AxWindowsMediaPlayer1.Ctlcontrols.stop()
Notes
Le wrapper de code managé pour le contrôle Lecteur multimédia Windows expose l’objet Controls en tant que Ctlcontrols pour éviter toute collision avec la propriété Controls héritée de System.Windows.Forms.Control.
Ajouter la gestion des erreurs
Le contrôle Lecteur multimédia Windows ne déclenche pas d’exception lorsqu’il rencontre une erreur telle qu’une URL non valide. Au lieu de cela, le contrôle signale un événement. Votre application doit gérer les événements d’erreur envoyés par le Lecteur.
Pour créer un gestionnaire d’événements, ouvrez la fenêtre de code de votre classe de formulaire. Dans la liste déroulante située en haut de la fenêtre, sélectionnez le contrôle Lecteur multimédia Windows. Une liste d’événements s’affiche dans la liste déroulante à droite. Dans cette liste, sélectionnez MediaError. Le code suivant s’affiche :
Private Sub AxWindowsMediaPlayer1_MediaError(ByVal sender As Object, _
ByVal e As _WMPOCXEvents_MediaErrorEvent) Handles AxWindowsMediaPlayer1.MediaError
End Sub
Le code suivant peut être inséré dans la sous-routine pour fournir une fonctionnalité de gestion des erreurs minimale. Notez que les informations sur l’erreur peuvent être récupérées à partir de l’argument _WMPOCXEvents_MediaErrorEvent .
Try
' If the file is corrupt or missing, show the
' hexadecimal error code and URL.
Dim errSource As WMPLib.IWMPMedia2 = e.pMediaObject
Dim errorItem As WMPLib.IWMPErrorItem = errSource.Error
MessageBox.Show("Media error " + errorItem.errorCode.ToString("X") _
+ " in " + errSource.sourceURL)
Catch ex As InvalidCastException
' In case pMediaObject is not an IWMPMedia item.
MessageBox.Show("Player error.")
End Try
Rubriques connexes
Commentaires
https://aka.ms/ContentUserFeedback.
Bientôt disponible : Tout au long de 2024, nous allons supprimer progressivement GitHub Issues comme mécanisme de commentaires pour le contenu et le remplacer par un nouveau système de commentaires. Pour plus d’informations, consultezEnvoyer et afficher des commentaires pour