Bonjour,

Je viens vers vous pour avoir un conseil et avis.
Je suis actuellement en train de faire un programme de gestion de vidéo.
Pour cela j'ai besoin de récupérer la durée des vidéos, je me suis servis du code suivant qui fonctionne avec Windows media player (Trouver grâce au tuto : Utiliser Windows Media Player en VB et VBA)

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
'Définition de la durée du fichier
                'Lance la lecture du fichier
                VidGes.AxWindowsMediaPlayer1.URL = ligneF
                'La récupération d'informations sur une séquence peut se faire uniquement 
                'lorsque le statut de chargement "Transitioning" est atteint
                '9 = statut "Préparation nouvelle séquence" (constante wmppsTransitioning)
                'Demande le lectures du fichier
                VidGes.AxWindowsMediaPlayer1.Ctlcontrols.play()
                'Désactive le son
                VidGes.AxWindowsMediaPlayer1.settings.mute = True
                While VidGes.AxWindowsMediaPlayer1.playState = 9
                    My.Application.DoEvents()
                    'Arret du fichier
                    VidGes.AxWindowsMediaPlayer1.Ctlcontrols.stop()
                End While
                Duree = VidGes.AxWindowsMediaPlayer1.currentMedia.durationString
Ce qui fonctionne très bien, mais hélas WMP ne lit pas tous les formats.
Donc j'aurai voulu passer par VLC, qui lit un peu plus de format vidéo ( enfin si je me trompe pas)

Je me suis inspiré de la version WMP pour réaliser cela mais certaines fonctions et mode ne sont pas présent ( ou il se peu que je ne l'ai trouve pas)

Voici le code que j'ai commencé pour VLC :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
 
 VidGes.AxVLCPlugin1.addTarget(ligneF, DBNull.Value, AXVLC.VLCPlaylistMode.VLCPlayListInsert, 0)
 
                    VidGes.AxVLCPlugin1.play()
 
                    VidGes.AxVLCPlugin1.Volume = 0
                    While VidGes.AxVLCPlugin1.getVariable(ligneF) = 9
                        My.Application.DoEvents()
                        'Arret du fichier
                        VidGes.AxVLCPlugin1.stop()
                    End While
                    'Duree = VidGes.AxVLCPlugin1.
Pour le moment je cherche un equivalent à Playstate de WMP pour VLC et idem pour .currentMedia.durationString.

Perso je ne sais pas si ma méthode est bonne ou si cela est adatable d'un lecteur à l'autre.

Je me sers des infos VLC suivante pour trouver : ActiveX-VLC

Après s'il existe un solution autre et plus simple je veux bien essayer de la comprendre et de l’adapter a mon projet.

J'ai vue pas mal de chose pour réaliser ce que je chercher à faire mais sans réelle résolution de problème.

Merci d'avance, pour vos conseils et avis.

Cordialement.