Lecteur vidéo en Silverlight 3 C#

janvier 22, 2010

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

Tags:

1 Response

  1. Florent

    mai 17th, 2010

    Hello,

    Est-ce que tu pourrais mettre en ligne, ou m’envoyer par mail, la source s’il te plait, parce que je ne vois pas trop comment tu arrives à gérer le click sur la progressbar pour pouvoir se déplacer dans la vidéo. Pareil pour le timer, tu utilises des threads ? J’avais vu un exemple sur le net mais impossible de le retrouver…

    Merci :)

Leave a Reply