XAML File That Defines a MediaElement Control with Playback Button and a Progress Slider Control
<UserControl x:Class='SilverlightApplication3.MainPage'
xmlns='http://schemas.microsoft.com/winfx/2006/xaml/presentation'
xmlns:x='http://schemas.microsoft.com/winfx/2006/xaml'
xmlns:d='http://schemas.microsoft.com/expression/blend/2008'
xmlns:mc='http://schemas.openxmlformats.org/markup-compatibility/2006'
mc:Ignorable='d'
d:DesignWidth='640'
d:DesignHeight='480'>
<Grid x:Name="LayoutRoot" Background="White">
<Canvas Height="300" Width="300"
HorizontalAlignment="Center"
VerticalAlignment="Center">
<Border Height="300" Width="300"
BorderBrush="DarkGray" BorderThickness="6"/>
<MediaElement x:Name="myMovie"
Source="/movie1.wmv"/>
<TextBlock x:Name="txtPosition" Foreground="White"/>
<Slider x:Name="timeSlide" Maximum="1" Canvas.Top="220" Canvas.Left="45" />
<Button x:Name="playButton" Content="Play"/>
<Button x:Name="pauseButton" Content="Pause" />
<Button x:Name="stopButton" Content="Stop"/>
</Canvas>
</Grid>
</UserControl>
//File: Page.xaml.cs
using System;
using System.Windows;
using System.Windows.Controls;
using System.Windows.Input;
using System.Windows.Media;
using System.Windows.Media.Animation;
using System.Windows.Threading;
namespace SilverlightApplication3
{
public partial class MainPage : UserControl
{
DispatcherTimer timer;
public MainPage()
{
InitializeComponent();
playButton.Click += new RoutedEventHandler(playMovie);
pauseButton.Click += new RoutedEventHandler(pauseMovie);
stopButton.Click += new RoutedEventHandler(stopMovie);
myMovie.MediaEnded += new RoutedEventHandler(myMovie_MediaEnded);
timer = new DispatcherTimer();
timer.Interval = new TimeSpan(0, 0, 0, 0, 500);
timer.Tick += new EventHandler(time_Tick);
timer.Start();
}
void time_Tick(object sender, EventArgs e)
{
txtPosition.Text = myMovie.Position.ToString();
timeSlide.Value = myMovie.Position.TotalMilliseconds / myMovie.NaturalDuration.TimeSpan.TotalMilliseconds;
}
void myMovie_MediaEnded(object sender, RoutedEventArgs e)
{
myMovie.Stop();
}
void playMovie(object sender, RoutedEventArgs e)
{
myMovie.Play();
}
void pauseMovie(object sender, RoutedEventArgs e)
{
myMovie.Pause();
}
void stopMovie(object sender, RoutedEventArgs e)
{
myMovie.Stop();
}
}
}
Related examples in the same category