Vidéo (résolution)

Résolu
AlohaThomas Messages postés 8 Date d'inscription vendredi 19 novembre 2004 Statut Membre Dernière intervention 15 novembre 2006 - 12 août 2005 à 03:52
AlohaThomas Messages postés 8 Date d'inscription vendredi 19 novembre 2004 Statut Membre Dernière intervention 15 novembre 2006 - 13 août 2005 à 06:55
Salut, je cherche à savoir comment obtenir la résolution d'une vidéo que j'affiche dans un formulaire grâce au composant COM 'AxWMPLib.AxWindowsMediaPlayer'.

Bien sûr pour afficher la vidéo je fais WindowsMediaPlayer.URL = "C:\MaVidéo.avi" mais pour avoir la résolution de la vidéo je me sert des propriétés 'Width' et 'Height' qui me donne la largeur et la hauteur du contrôle 'WindowsMediaPlayer' mais pas celles de la vidéo.

Je précise que je code en VB .NET !

4 réponses

Lutinore Messages postés 3246 Date d'inscription lundi 25 avril 2005 Statut Membre Dernière intervention 27 octobre 2012 41
12 août 2005 à 05:00
Salut, de mémoire ces infos sont disponibles pendant la lecture avec les propriétés:

axWindowsMediaPlayer.currentMedia.imageSourceWidth
axWindowsMediaPlayer.currentMedia.imageSourceHeight
3
Lutinore Messages postés 3246 Date d'inscription lundi 25 avril 2005 Statut Membre Dernière intervention 27 octobre 2012 41
13 août 2005 à 00:22
Toujours de mémoire, tu peux éviter le timer en utilsant l'évènement PlayStateChange, la propriété PlayState est très utile aussi, tout ca c'etait avec le player 7.0 y'a peut être mieux dans les nouvelles versions. En tout cas l'objet COM du player est très puissant tu peux aussi utiliser l'objet COM de l'encoder Windows Media mais je crois que c'est plus compliqué.
3
AlohaThomas Messages postés 8 Date d'inscription vendredi 19 novembre 2004 Statut Membre Dernière intervention 15 novembre 2006
12 août 2005 à 09:57
OK, merci, ça marche !


Mais tu as bien fait de préçiser "pendant la lecture", car si on demande ses informations directement dans l'instruction suivante, la vidéo n'a pas eu le temps de se charger et on obtient '0'. Je pense qu'un Timer devrait résoudre le problème.
0
AlohaThomas Messages postés 8 Date d'inscription vendredi 19 novembre 2004 Statut Membre Dernière intervention 15 novembre 2006
13 août 2005 à 06:55
C'est effectivement encore mieux que le Timer, moins de code et plus de ressource !


Pour ceux que ça intéresse, voici le code :


Private Sub axWindowsMediaPlayer_PlayStateChange( etc ...


' Pour la résolution :
lblResolution.Text = axWindowsMediaPlayer.currentMedia.imageSourceWidth & _
" x " & _
axWindowsMediaPlayer.currentMedia.imageSourceHeight


' Pour la durée :
lblDuree.Text = CInt(axWindowsMediaPlayer.currentMedia.duration) & " sec."


End sub
0
Rejoignez-nous