Partager via


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

Incorporation du contrôle Lecteur multimédia Windows dans une solution .NET Framework