Pour créer un lecteur de vidéo en Silverlight 3, il faut utiliser le control ‘MediaElement‘ via un drag & drop sur Visual Studio 2010. Le MediaElement permet de lire les vidéos wmv très simplement :
On ajoute un MediaStreamSource ou un Stream grâce à la méthode SetSource
mediaElement1.SetSource(fileStream);
Et on joue la vidéo via la méthode Play
mediaElement1.Play();
Pour arrêter, on utilise la méthode Stop
mediaElement1.Stop();
Pour la gestion du volume j’ai choisi d’utiliser une progressBar
Je récupère la position de la souris lors du clic par rapport à la taille de la progressBar, ce qui me donne un float compris entre 0 et 1 (1 étant le volume max). Puis je met à jour l’attribut Volume de mediaElement et Value de la progressBar.
double volume = (double)e.GetPosition(progressBar1).X ;
mediaElement1.Volume = volume / progressBar1.Width;
progressBar1.Value = (int)volume;
Récupérer la durée de la vidéo et la position :
mediaElement1.NaturalDuration
mediaElement1.Position
Voilà un petit exemple qui gère Play/Pause/Stop/Volume/Position de la vidéo / Ajout de vidéo : Lecteur vidéo en Silverlight 3