WPF3.5の新機能② SoundPlayerAction
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="https://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="https://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>