<Window x:Class="WPF影像播放与画面处理.MainWindow" xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" Title="WPF影像播放与画面处理" Width="600" Height="600" WindowStyle="ToolWindow" Background="White"> <Window.Foreground> <LinearGradientBrush EndPoint="1,0.5" StartPoint="0,0.5"> <GradientStop Color="Black" Offset="0" /> <GradientStop Color="#FFE6FFFF" Offset="1" /> </LinearGradientBrush> </Window.Foreground> <Grid> <Grid.Triggers> <!--开始播放视频--> <EventTrigger SourceName="btnStart" RoutedEvent="Button.Click"> <BeginStoryboard x:Name="sb"> <Storyboard > <MediaTimeline CurrentTimeInvalidated="MediaTimeline_CurrentTimeInvalidated" Source="xbox.wmv" Storyboard.TargetName="mediaElement1" RepeatBehavior="Forever" /> </Storyboard> </BeginStoryboard> </EventTrigger> <!--暂停播放--> <EventTrigger SourceName="btnPause" RoutedEvent="Button.Click"> <PauseStoryboard BeginStoryboardName="sb"/> </EventTrigger> <!--继续播放--> <EventTrigger SourceName="btnResume" RoutedEvent="Button.Click"> <ResumeStoryboard BeginStoryboardName="sb"/> </EventTrigger> <!--停止播放--> <EventTrigger SourceName="btnStop" RoutedEvent="Button.Click"> <StopStoryboard BeginStoryboardName="sb"/> </EventTrigger> </Grid.Triggers> <MediaElement Margin="10 10 10 100" Name="mediaElement1" MediaOpened="mediaElement1_MediaOpened" /> <Button Content="Start" Height="23" HorizontalAlignment="Left" Margin="85,516,0,0" Name="btnStart" VerticalAlignment="Top" Width="75" /> <Button Content="Pause" Height="23" HorizontalAlignment="Right" Margin="0,516,310,0" Name="btnPause" VerticalAlignment="Top" Width="75" /> <Button Content="Resume" Height="23" HorizontalAlignment="Left" Margin="301,516,0,0" Name="btnResume" VerticalAlignment="Top" Width="75" /> <Button Content="Stop" Height="23" HorizontalAlignment="Left" Margin="411,516,0,0" Name="btnStop" VerticalAlignment="Top" Width="75" /> <Slider Height="23" HorizontalAlignment="Left" Margin="85,474,0,0" Name="slider1" VerticalAlignment="Top" Width="401" ValueChanged="slider1_ValueChanged" /> </Grid> </Window>
using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Windows; using System.Windows.Controls; using System.Windows.Data; using System.Windows.Documents; using System.Windows.Input; using System.Windows.Media; using System.Windows.Media.Imaging; using System.Windows.Navigation; using System.Windows.Shapes; namespace WPF影像播放与画面处理 { /// <summary> /// MainWindow.xaml 的交互逻辑 /// </summary> public partial class MainWindow : Window { public MainWindow() { InitializeComponent(); } private void mediaElement1_MediaOpened(object sender, RoutedEventArgs e) { slider1.Maximum = mediaElement1.NaturalDuration.TimeSpan.TotalMilliseconds; } private void MediaTimeline_CurrentTimeInvalidated(object sender, EventArgs e) { slider1.Value = mediaElement1.Position.TotalMilliseconds; } private void slider1_ValueChanged(object sender, RoutedPropertyChangedEventArgs<double> e) { //mediaElement1.Position = new TimeSpan(mediaElement1.Position.Ticks); } } }
源代码下载:点击打开链接