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
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