WPF在处理图形界面显示方面,具有非常强大的优势。可以方便轻松的使开发人员实现各种基于图形的处理。通过对WPF的深入解读,我们知道,WPF定义了一个SoundPlayerAction类(继承自TriggerAction),它用一种友好的方式封装了SoundPlayer类。#t#
这样做的好处是,可以在控件的EventTrigger中添加SoundPlayerAciton动作,进而可以播放音频文件。
WPF音频代码示例:
- < Button Content=
"xirihanlin"> - < Button.Triggers>
- < EventTrigger
RoutedEvent="Button.Click"> - < SoundPlayerAction Source="BLOW.WAV"/>
- < /EventTrigger>
- < /Button.Triggers>
- < /Button>
有SoundPlayerAction类的一个好处是你不用为播放音频文件而在后台书写代码。但是,这样的好处也会给你带来限制,因为你根本无法控制SoundPlayerAction与SoundPlayer之间的交互。
当点击Button时,会创建SoundPlayerAction对象,而SoundPlayerAction内部构建了一个SoundPlayer实例,并把SoundPlayerAction的Source属性值传给了SoundPlayer实例,并调用了SoundPlayer的Play,而事实上,由于音频文件没有提前加载,你将不能在点击的同时就能听见声音。因此,使用WPF音频SoundPlayerAction类的限制还包括无法提前加载文件和设置循环播放等。