WPF 3.5 では軽量なサウンド再生プレーヤとして、SoundPlayerAction が追加されました。

しかし、これは、MediaElementのように音楽再生に使うようなものではなく、EventTrigger に対する応答性を向上させた反応音のようなものに使うプレーヤです。MediaElement が FrameworkElement を継承しているのと違って、SoundPlayerAction は TriggerAction の派生クラスです。

SDK にある Media Gallary サンプルの「Sound from User Event Sample」タブは、EediaElement + Storyboard と SoundPlayerAction が比較できるサンプルです。SoundPlayerAction は次のように EventTrigger 内で使います。

<Page xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"

  xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" >

  <Page.Triggers>

    <EventTrigger RoutedEvent="Button.Click"
        SourceName
="clickButton">

      <EventTrigger.Actions>

        <SoundPlayerAction Source="media\lowbat.wav"/>

      </EventTrigger.Actions>

    </EventTrigger>

    <EventTrigger RoutedEvent="Button.MouseEnter"
       SourceName
="hoverButton">

      <EventTrigger.Actions>

        <SoundPlayerAction Source="media\tada.wav"/>

      </EventTrigger.Actions>

    </EventTrigger>

  </Page.Triggers>

 

  <StackPanel Width="200">

    <Button Name="clickButton">クリックでサウンド再生</Button>

    <Button Name="hoverButton">マウスを置くとサウンド再生</Button>

  </StackPanel>

</Page>