Introduction :
Après avoir constaté que mon player multimédia ne fonctionnait pas sous VISTA,
je me suis mis en quête d'une solution basée sur l'assembly DirectX managée AudioVideoPlayback.
Hélas tout ce que j'ai essayé sur VISTA premium, a échoué lamentablement, soit à cause des drivers d'origine qui comportent de nombreux bugs, soit à cause du manque de compatibilité de VISTA avec les codes créés pour XP.
J'étais sur le point de tout laisser tomber, lorsque j'ai appris que Microsoft proposait sur sont site MSDN une nouvelle version de DirectX 9 (la version 9L) compatible... VISTA.
J'ai donc téléchargé cette version et, miracle, j'ai pu faire fonctionner le même code sous VISTA et sous XP.
Voici donc, avant toute chose, le lien pour télécharger la dernière version de DirectX :
http://www.microsoft.com/downloads/details.aspx?familyid=86cf7fa2-e953-475c-abde-f016e4f7b61a&displaylang=en
Avec cette version vous pourrez utiliser l'assembly managée Microsoft.DirectX.AudioVideoPlayback avec VISTA.
Documentation :
Après avoir installé le SDK DirectX en utilisant le répertoire par défaut, vous trouverez la documentation sous forme de fichier CHM dans ce répertoire :
C:\Program Files\Miscrosoft DirectX SDK (April 2007)\Documentation\DirectX9\directx9_m.chm
Utilisation du player :
zMoviePlayer est capable de jouer tous les films au format : avi, mpg, mpeg, wmv, DivX, Xvid.
(à condition d'avoir installé au préalable le bon CODEC video)
Lorsqu'on est en mode "plein écran" le déplacement de la souris vers le bas de l'écran, montre ou cache le panneau de commande.
Pour choisir un film, utilisez au choix le menu pour ouvrir le sélecteur de fichier standard, ou effetuez un tiré déplacé depuis l'Explorateur vers la fenêtre de zMoviePlayer.
Utilisation du code :
La classe DirectX principale se nomme Video, elle est très facile à utiliser.
Vous pouvez obtenir tous les détails sur son utilisation à partir du menu contextuel de VS (Atteinde la définition).
Interface :
Comme je voulais utiliser une interface dans le style "WMP 11" j'ai ajouté mes classes maison pour skinner l'apparence du player.
- SkinButton.cs
User control to create skinned button using one single 5-image bitmap matching each of the button state: normal, down, disabled, focused, hover.
You can use either "standard" push button or shaped button with region.
- SkinTrackbar.cs
User control to create a mouse only skinned track bar.
The thumb tracker can have any size or shape based on a provided bitmap.
The control orientation is based on the ratio between width and height, if width is larger than height then horizontal else vertical.
To help the user to figure the moving of the thumb track, the control uses different colors to show the current value.
You can inverse ranging swapping min/max values.
- SkinEngine.cs
This class is responsible for the drawing of the skinned controls.
Point important :
Pour supprimer le message "loaderlock" exception lorsque vous utilisez l'environnement VS,
effectuez un "Ctrl + Alt + E" pour ouvrir la boîte de dialogue de gestion des exceptions,
choisissez "Managed Debugging Assistants" et décochez "Loaderlock".
Conclusion :
Vous trouverez toutes mes démos C# sur mon site dans la section "C# corner"
http://www.zapsolution.com/winlift/ccorner.htm
Note : zMoviePlayer fonctionne aussi bien sous XP que sous VISTA...
Bons films !
Patrice Terrier
www.zapsolurion.com
Vous n'êtes pas encore membre ?
inscrivez-vous, c'est gratuit et ça prend moins d'une minute !
Les membres obtiennent plus de réponses que les utilisateurs anonymes.
Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.
Le fait d'être membre vous permet d'avoir des options supplémentaires.