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="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>
マイクロソフト㈱エバンジェリスト。北海道大学理学部物理学科卒。リアルタイム3Dグラフィックスを専門とし、グラフィックスやシェーダに関する技術文章を執筆・講演。 DirectX SDK日本語ドキュメントの開発に携わるとともに、Windows Presentation Foundation プログラミング(オーム社)、Game Programming Gemsシリーズ、リアルタイム レンダリング第2版(ボーンデジタル)、Texturing & Modeling, A Procedural Approach などを翻訳・監修、XAMLプログラミング(ソフトバンク クリエイティブ)を執筆。趣味は薪割り。