Declarative Playback : MediaElement « Windows Presentation Foundation « C# / CSharp Tutorial






<Window x:Class="SoundAndVideo.DeclarativePlayback"
    xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
    xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
    Title="DeclarativePlayback" Height="300" Width="300">
  <Window.Resources>
      <Storyboard x:Key="MediaStoryboardResource" SlipBehavior="Slip">
      <MediaTimeline Storyboard.TargetName="media" Source="c:\song.mp3" FillBehavior="HoldEnd"></MediaTimeline>
      </Storyboard>
  </Window.Resources>
  
    <Grid Margin="5">
      <Grid.RowDefinitions>
        <RowDefinition Height="Auto"></RowDefinition>
        <RowDefinition Height="Auto"></RowDefinition>
        
      </Grid.RowDefinitions>
        <Grid.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>
            <EventTrigger RoutedEvent="ButtonBase.Click" SourceName="cmdPause">
              <EventTrigger.Actions>
                <PauseStoryboard BeginStoryboardName="MediaStoryboard"/>
              </EventTrigger.Actions>
            </EventTrigger>
            <EventTrigger RoutedEvent="ButtonBase.Click" SourceName="cmdResume">
              <EventTrigger.Actions>
                <ResumeStoryboard BeginStoryboardName="MediaStoryboard"/>
              </EventTrigger.Actions>
            </EventTrigger>          
        </Grid.Triggers>

      <MediaElement Name="media"></MediaElement>
      <StackPanel Orientation="Horizontal">
        <Button Name="cmdPlay" Padding="5" Margin="1">Play</Button>
        <Button Name="cmdStop" Padding="5" Margin="1">Stop</Button>
        <Button Name="cmdPause" Padding="5" Margin="1">Pause</Button>
        <Button Name="cmdResume" Padding="5" Margin="1">Resume</Button>
        </StackPanel>

      <Grid Margin="0,10,0,0" Grid.Row="2">
        <Grid.RowDefinitions>
          <RowDefinition Height="Auto"></RowDefinition>
          <RowDefinition Height="Auto"></RowDefinition>
        </Grid.RowDefinitions>
        <Grid.ColumnDefinitions>
          <ColumnDefinition Width="Auto"></ColumnDefinition>
          <ColumnDefinition></ColumnDefinition>
        </Grid.ColumnDefinitions>
        <TextBlock Margin="5">Volume: </TextBlock>
        <Slider Grid.Column="1" Minimum="0" Maximum="1"
              Value="{Binding ElementName=media, Path=Volume, Mode=TwoWay}"></Slider>
        <TextBlock Margin="5" Grid.Row="1">Balance: </TextBlock>
      <Slider Grid.Row="1" Grid.Column="1" Minimum="-1" Maximum="1"
        Value="{Binding ElementName=media, Path=Balance, Mode=TwoWay}"></Slider>
      </Grid>
    </Grid>
  
</Window>
WPF Declarative Playback








24.162.MediaElement
24.162.1.Using MediaElement for AudioUsing MediaElement for Audio
24.162.2.Overlapping Videos with EffectsOverlapping Videos with Effects
24.162.3.Simple Media PlayerSimple Media Player
24.162.4.Play mp3 filePlay mp3 file
24.162.5.Play wav filePlay wav file
24.162.6.Declarative PlaybackDeclarative Playback
24.162.7.Play a Media FilePlay a Media File
24.162.8.Sound And Video Playback in CodeSound And Video Playback in Code
24.162.9.Play with MediaPlayerPlay with MediaPlayer
24.162.10.Play Audio AsynchronouslyPlay Audio Asynchronously
24.162.11.Play System SoundsPlay System Sounds
24.162.12.Multiple SoundsMultiple Sounds