Mega Code Archive
Play a Media File
//File:Window.xaml.cs
using System;
using System.Windows;
using System.Windows.Input;
using System.Windows.Media;
using System.Windows.Media.Animation;
namespace WpfApplication1
{
public partial class Window1 : Window
{
bool ignoreValueChanged = false;
public Window1()
{
InitializeComponent();
}
private void MediaOpened(object sender, EventArgs e)
{
sldPosition.Maximum = meMediaElement.NaturalDuration.TimeSpan.TotalMilliseconds;
}
private void Storyboard_Changed(object sender, EventArgs e)
{
ClockGroup clockGroup = sender as ClockGroup;
MediaClock mediaClock = clockGroup.Children[0] as MediaClock;
if (mediaClock.CurrentProgress.HasValue){
ignoreValueChanged = true;
sldPosition.Value = meMediaElement.Position.TotalMilliseconds;
ignoreValueChanged = false;
}
}
private void sldPosition_ValueChanged(object sender, RoutedPropertyChangedEventArgs e){
if (ignoreValueChanged)
{
return;
}
Storyboard.Seek(Panel,TimeSpan.FromMilliseconds(sldPosition.Value),TimeSeekOrigin.BeginTime);
}
}
}