Mega Code Archive

 
Categories / VB.Net Tutorial / WPF
 

Animated Video Window

<Window x: Class="SoundAndVideo.AnimatedVideoWindow"     xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"     xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"     Title="AnimatedVideoWindow" Height="450" Width="400">   <Window.Resources>     <Storyboard x:Key="MediaStoryboardResource">       <MediaTimeline Storyboard.TargetName="media" Source="test.mpg" FillBehavior="HoldEnd"                       RepeatBehavior="Forever"></MediaTimeline>       <DoubleAnimation Storyboard.TargetName="media" Storyboard.TargetProperty="(MediaElement.RenderTransform).(RotateTransform.Angle)"     To="360" Duration="0:0:2" RepeatBehavior="Forever"></DoubleAnimation>     </Storyboard>   </Window.Resources>   <StackPanel>     <StackPanel.Triggers>       <EventTrigger RoutedEvent="ButtonBase.Click" SourceName="cmdPlay">         <EventTrigger.Actions>           <BeginStoryboard Name="MediaStoryboard" Storyboard="{StaticResource MediaStoryboardResource}"/>         </EventTrigger.Actions>       </EventTrigger>       <EventTrigger RoutedEvent="ButtonBase.Click" SourceName="cmdStop">         <EventTrigger.Actions>           <StopStoryboard BeginStoryboardName="MediaStoryboard"/>         </EventTrigger.Actions>       </EventTrigger>           </StackPanel.Triggers>       <Button Name="cmdPlay">Play (Declarative)</Button>       <Button Name="cmdStop">Stop (Declarative)</Button>       <Button Click="cmdPlayCode_Click">Play (Code)</Button>     <MediaElement Name="media" Grid.Row="1" Stretch="None" RenderTransformOrigin="0.5,0.5" >       <MediaElement.RenderTransform>         <RotateTransform></RotateTransform>       </MediaElement.RenderTransform>     </MediaElement>   </StackPanel> </Window> //File:Window.xaml.vb Imports System Imports System.Collections.Generic Imports System.Text Imports System.Windows Imports System.Windows.Controls Imports System.Windows.Data Imports System.Windows.Documents Imports System.Windows.Input Imports System.Windows.Media Imports System.Windows.Media.Imaging Imports System.Windows.Shapes Imports System.Windows.Media.Animation Namespace SoundAndVideo   Public Partial Class AnimatedVideoWindow     Inherits System.Windows.Window     Public Sub New()       InitializeComponent()     End Sub     Private Sub cmdPlayCode_Click(sender As Object, e As RoutedEventArgs)       Dim timeline As New MediaTimeline(New Uri("test.mpg", UriKind.Relative))       timeline.RepeatBehavior = RepeatBehavior.Forever       Dim clock As MediaClock = timeline.CreateClock()       Dim player As New MediaPlayer()       player.Clock = clock       Dim videoDrawing As New VideoDrawing()       videoDrawing.Rect = New Rect(150, 0, 100, 100)       videoDrawing.Player = player       Dim brush As New DrawingBrush(videoDrawing)       Me.Background = brush       clock.Controller.Begin()     End Sub   End Class End Namespace