How to: Trigger Media Playback with a User Event

This example shows how to synchronize media playback with an event.

Example

The following example uses the MediaElement control and the MediaTimeline class to play a sound that occurs when the user clicks a Button.

<Page xmlns="https://schemas.microsoft.com/winfx/2006/xaml/presentation"
  xmlns:x="https://schemas.microsoft.com/winfx/2006/xaml" >
  <StackPanel>

    <!-- The MediaElement control plays the sound. -->
    <MediaElement Name="myMediaElement" />

    <Button>Click to Hear a Sound!
      <Button.Triggers>
        <EventTrigger RoutedEvent="Button.Click">
          <EventTrigger.Actions>
            <BeginStoryboard>
              <Storyboard>

                <!-- Sound wave from this source is played when the button is clicked.-->
                <MediaTimeline Source="C:\WINDOWS\Media\ringin.wav" Storyboard.TargetName="myMediaElement"  />

              </Storyboard>
            </BeginStoryboard>
          </EventTrigger.Actions>
        </EventTrigger>
      </Button.Triggers>
    </Button>

  </StackPanel>
</Page>

For the complete sample, see Media Gallery.

See Also

Reference

MediaElement
MediaTimeline
RoutedEvent
Storyboard

Concepts

WPF Graphics, Animation, and Media Overview

Other Resources

Audio and Video How-to Topics
Media Gallery