Bonjour,
Je travaille actuellement sur une petite application en C# dont l'objectif est simple : lire une vidéo en boucle, puis lancer une vidéo spécifique si un évènement se déclenche (appui sur une touche par exemple). J'ai donc un thread servant à détecter les évènements qui fait des appels asynchrones à mon API de lecture vidéo (LibVlcNet dans mon cas).
Dans cette API une winform est fournie : "videoWindow" et pour lire une vidéo je l'initialise puis appelle la fonction VlcPlayerControl.Play(MediaInput mi).
Une fois le programme "lancé" j'utilise cette fonction de 2 façon :
-> Dans un callback "onEndReached()" abonné à l'évènement EndReached de la LibVlcNet.
-> Dans un callback "onEvent(string videoPath)" abonné à l'évènement Event(string videoPath).
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 MediaInput mi = new MediaInput(MediaInputType.File, "C:\\Videos\\defaultVideo.m4v"); videoWindow.VlcPlayerControl.Play(mi);
Ce dernier évènement est déclenché de façon asynchrone (BeginInvoke) par mon thread de surveillance.
Voilà pour le contexte, maintenant place aux problèmes
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 MediaInput mi = new MediaInput(MediaInputType.File, videoPath); videoWindow.VlcPlayerControl.Play(mi);
Le premier cas fonctionne quand la vlc est en mode fenêtré mais pas en plein écran (je parle du mode "directX overlay" obtenu par double clic pas du mode fenêtré maximisé) . Le deuxième ne fonctionne qu'en plein écran et pas en mode fenêtré.
Si quelqu'un a déjà eut ce problème où connait une API de lecture vidéo multi-format .NET compatible avec mes besoins (principalement lecture plein écran) ce serait super sympa
Merci.
Partager